diff --git a/.env b/.env new file mode 100644 index 0000000..b66cc43 --- /dev/null +++ b/.env @@ -0,0 +1,6 @@ +### Symfony Configuration +APP_ENV=prod + +### General Configuration +WEBSITE_BASE_URL='http://localhost/activity/' #Base URL of the website (end with a slash) +DATABASE_URL='mysql://db_user:db_password@127.0.0.1:3306/db_name' diff --git a/.env.test b/.env.test new file mode 100644 index 0000000..d048686 --- /dev/null +++ b/.env.test @@ -0,0 +1,5 @@ +# define your env variables for the test env here +KERNEL_CLASS='App\Kernel' +APP_SECRET='$ecretf0rt3st' +SYMFONY_DEPRECATIONS_HELPER=999999 +PANTHER_APP_ENV=panther diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b31fca1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +###Symfony +.env.local +var/* +vendor/* +phpunit.xml +migrations/* +.phpunit.result.cache +symfony.lock diff --git a/README.md b/README.md index 510a57e..302f890 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,27 @@ -activity-manager -=============== +# Activity manager +PHP activity manager -Activity manager in PHP \ No newline at end of file + + +## Requirement +- PHP7.4+ + + + +## Installation +- Clone the git +- `composer install` +- Create an empty dir named `migrations` +- Copy the file `.env` to `.env.local` and set configuration +- `php bin/console -n doctrine:migrations:diff` +- `php bin/console -n doctrine:migrations:migrate` + + + +## Update +- `git pull` +- `composer update` or `php composer.phar update` +- `php bin/console -n doctrine:migrations:diff` +- `php bin/console -n doctrine:migrations:migrate` + +Or use `update.bat` diff --git a/bin/console b/bin/console new file mode 100644 index 0000000..8fe9d49 --- /dev/null +++ b/bin/console @@ -0,0 +1,43 @@ +#!/usr/bin/env php +getParameterOption(['--env', '-e'], null, true)) { + putenv('APP_ENV='.$_SERVER['APP_ENV'] = $_ENV['APP_ENV'] = $env); +} + +if ($input->hasParameterOption('--no-debug', true)) { + putenv('APP_DEBUG='.$_SERVER['APP_DEBUG'] = $_ENV['APP_DEBUG'] = '0'); +} + +(new Dotenv())->bootEnv(dirname(__DIR__).'/.env'); + +if ($_SERVER['APP_DEBUG']) { + umask(0000); + + if (class_exists(Debug::class)) { + Debug::enable(); + } +} + +$kernel = new Kernel($_SERVER['APP_ENV'], (bool) $_SERVER['APP_DEBUG']); +$application = new Application($kernel); +$application->run($input); diff --git a/bin/phpunit b/bin/phpunit new file mode 100644 index 0000000..4d1ed05 --- /dev/null +++ b/bin/phpunit @@ -0,0 +1,13 @@ +#!/usr/bin/env php +=7.2.5", + "ext-ctype" : "*", + "ext-iconv" : "*", + "composer/package-versions-deprecated" : "~1.11", + "doctrine/doctrine-bundle" : "~2.2", + "doctrine/doctrine-migrations-bundle" : "~3.0", + "doctrine/orm" : "~2.8", + "phpdocumentor/reflection-docblock" : "~5.2", + "sensio/framework-extra-bundle" : "~6.0", + "symfony/asset" : "~5.2", + "symfony/console" : "~5.2", + "symfony/dotenv" : "~5.2", + "symfony/expression-language" : "~5.2", + "symfony/flex" : "~1.12", + "symfony/form" : "~5.2", + "symfony/framework-bundle" : "~5.2", + "symfony/http-client" : "~5.2", + "symfony/intl" : "~5.2", + "symfony/mime" : "~5.2", + "symfony/monolog-bundle" : "~3.6", + "symfony/notifier" : "~5.2", + "symfony/process" : "~5.2", + "symfony/property-access" : "~5.2", + "symfony/property-info" : "~5.2", + "symfony/proxy-manager-bridge" : "~5.2", + "symfony/security-bundle" : "~5.2", + "symfony/serializer" : "~5.2", + "symfony/string" : "~5.2", + "symfony/twig-bundle" : "~5.2", + "symfony/validator" : "~5.2", + "symfony/web-link" : "~5.2", + "symfony/yaml" : "~5.2", + "twig/extra-bundle" : "~3.3", + "twig/twig" : "~3.3" + }, + "require-dev" : { + "symfony/browser-kit" : "~5.2", + "symfony/css-selector" : "~5.2", + "symfony/debug-bundle" : "~5.2", + "symfony/maker-bundle" : "~1.29", + "symfony/phpunit-bridge" : "~5.2", + "symfony/stopwatch" : "~5.2", + "symfony/var-dumper" : "~5.2", + "symfony/web-profiler-bundle" : "~5.2" + }, + "config" : { + "optimize-autoloader" : true, + "preferred-install" : { + "*" : "dist" + }, + "sort-packages" : true + }, + "autoload" : { + "psr-4" : { + "App\\" : "src/" + } + }, + "autoload-dev" : { + "psr-4" : { + "App\\Tests\\" : "tests/" + } + }, + "replace" : { + "symfony/polyfill-ctype" : "*", + "symfony/polyfill-iconv" : "*", + "symfony/polyfill-php72" : "*" + }, + "conflict" : { + "symfony/symfony" : "*" + }, + "extra" : { + "symfony" : { + "allow-contrib" : true, + "require" : "5.2.*" + } + } +} \ No newline at end of file diff --git a/composer.lock b/composer.lock new file mode 100644 index 0000000..b192799 --- /dev/null +++ b/composer.lock @@ -0,0 +1,7837 @@ +{ + "_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": "ca9031c67d66d71ef3b883655fc13112", + "packages": [ + { + "name": "composer/package-versions-deprecated", + "version": "1.11.99.1", + "source": { + "type": "git", + "url": "https://github.com/composer/package-versions-deprecated.git", + "reference": "7413f0b55a051e89485c5cb9f765fe24bb02a7b6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/package-versions-deprecated/zipball/7413f0b55a051e89485c5cb9f765fe24bb02a7b6", + "reference": "7413f0b55a051e89485c5cb9f765fe24bb02a7b6", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.1.0 || ^2.0", + "php": "^7 || ^8" + }, + "replace": { + "ocramius/package-versions": "1.11.99" + }, + "require-dev": { + "composer/composer": "^1.9.3 || ^2.0@dev", + "ext-zip": "^1.13", + "phpunit/phpunit": "^6.5 || ^7" + }, + "type": "composer-plugin", + "extra": { + "class": "PackageVersions\\Installer", + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "PackageVersions\\": "src/PackageVersions" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com" + }, + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be" + } + ], + "description": "Composer plugin that provides efficient querying for installed package versions (no runtime IO)", + "support": { + "issues": "https://github.com/composer/package-versions-deprecated/issues", + "source": "https://github.com/composer/package-versions-deprecated/tree/1.11.99.1" + }, + "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": "2020-11-11T10:22:58+00:00" + }, + { + "name": "doctrine/annotations", + "version": "1.12.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/annotations.git", + "reference": "b17c5014ef81d212ac539f07a1001832df1b6d3b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/b17c5014ef81d212ac539f07a1001832df1b6d3b", + "reference": "b17c5014ef81d212ac539f07a1001832df1b6d3b", + "shasum": "" + }, + "require": { + "doctrine/lexer": "1.*", + "ext-tokenizer": "*", + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "doctrine/cache": "1.*", + "doctrine/coding-standard": "^6.0 || ^8.1", + "phpstan/phpstan": "^0.12.20", + "phpunit/phpunit": "^7.5 || ^9.1.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Docblock Annotations Parser", + "homepage": "https://www.doctrine-project.org/projects/annotations.html", + "keywords": [ + "annotations", + "docblock", + "parser" + ], + "support": { + "issues": "https://github.com/doctrine/annotations/issues", + "source": "https://github.com/doctrine/annotations/tree/1.12.1" + }, + "time": "2021-02-21T21:00:45+00:00" + }, + { + "name": "doctrine/cache", + "version": "1.10.2", + "source": { + "type": "git", + "url": "https://github.com/doctrine/cache.git", + "reference": "13e3381b25847283a91948d04640543941309727" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/cache/zipball/13e3381b25847283a91948d04640543941309727", + "reference": "13e3381b25847283a91948d04640543941309727", + "shasum": "" + }, + "require": { + "php": "~7.1 || ^8.0" + }, + "conflict": { + "doctrine/common": ">2.2,<2.4" + }, + "require-dev": { + "alcaeus/mongo-php-adapter": "^1.1", + "doctrine/coding-standard": "^6.0", + "mongodb/mongodb": "^1.1", + "phpunit/phpunit": "^7.0", + "predis/predis": "~1.0" + }, + "suggest": { + "alcaeus/mongo-php-adapter": "Required to use legacy MongoDB driver" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.9.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Cache library is a popular cache implementation that supports many different drivers such as redis, memcache, apc, mongodb and others.", + "homepage": "https://www.doctrine-project.org/projects/cache.html", + "keywords": [ + "abstraction", + "apcu", + "cache", + "caching", + "couchdb", + "memcached", + "php", + "redis", + "xcache" + ], + "support": { + "issues": "https://github.com/doctrine/cache/issues", + "source": "https://github.com/doctrine/cache/tree/1.10.x" + }, + "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%2Fcache", + "type": "tidelift" + } + ], + "time": "2020-07-07T18:54:01+00:00" + }, + { + "name": "doctrine/collections", + "version": "1.6.7", + "source": { + "type": "git", + "url": "https://github.com/doctrine/collections.git", + "reference": "55f8b799269a1a472457bd1a41b4f379d4cfba4a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/collections/zipball/55f8b799269a1a472457bd1a41b4f379d4cfba4a", + "reference": "55f8b799269a1a472457bd1a41b4f379d4cfba4a", + "shasum": "" + }, + "require": { + "php": "^7.1.3 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^6.0", + "phpstan/phpstan-shim": "^0.9.2", + "phpunit/phpunit": "^7.0", + "vimeo/psalm": "^3.8.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Common\\Collections\\": "lib/Doctrine/Common/Collections" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Collections library that adds additional functionality on top of PHP arrays.", + "homepage": "https://www.doctrine-project.org/projects/collections.html", + "keywords": [ + "array", + "collections", + "iterators", + "php" + ], + "support": { + "issues": "https://github.com/doctrine/collections/issues", + "source": "https://github.com/doctrine/collections/tree/1.6.7" + }, + "time": "2020-07-27T17:53:49+00:00" + }, + { + "name": "doctrine/common", + "version": "3.1.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/common.git", + "reference": "2afde5a9844126bc311cd5f548b5475e75f800d3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/common/zipball/2afde5a9844126bc311cd5f548b5475e75f800d3", + "reference": "2afde5a9844126bc311cd5f548b5475e75f800d3", + "shasum": "" + }, + "require": { + "doctrine/persistence": "^2.0", + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^6.0 || ^8.0", + "phpstan/phpstan": "^0.12", + "phpstan/phpstan-phpunit": "^0.12", + "phpunit/phpunit": "^7.5.20 || ^8.5 || ^9.0", + "squizlabs/php_codesniffer": "^3.0", + "symfony/phpunit-bridge": "^4.0.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Common\\": "lib/Doctrine/Common" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + }, + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com" + } + ], + "description": "PHP Doctrine Common project is a library that provides additional functionality that other Doctrine projects depend on such as better reflection support, proxies and much more.", + "homepage": "https://www.doctrine-project.org/projects/common.html", + "keywords": [ + "common", + "doctrine", + "php" + ], + "support": { + "issues": "https://github.com/doctrine/common/issues", + "source": "https://github.com/doctrine/common/tree/3.1.1" + }, + "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%2Fcommon", + "type": "tidelift" + } + ], + "time": "2021-01-20T19:58:05+00:00" + }, + { + "name": "doctrine/dbal", + "version": "2.12.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/dbal.git", + "reference": "adce7a954a1c2f14f85e94aed90c8489af204086" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/adce7a954a1c2f14f85e94aed90c8489af204086", + "reference": "adce7a954a1c2f14f85e94aed90c8489af204086", + "shasum": "" + }, + "require": { + "doctrine/cache": "^1.0", + "doctrine/event-manager": "^1.0", + "ext-pdo": "*", + "php": "^7.3 || ^8" + }, + "require-dev": { + "doctrine/coding-standard": "^8.1", + "jetbrains/phpstorm-stubs": "^2019.1", + "phpstan/phpstan": "^0.12.40", + "phpunit/phpunit": "^9.4", + "psalm/plugin-phpunit": "^0.10.0", + "symfony/console": "^2.0.5|^3.0|^4.0|^5.0", + "vimeo/psalm": "^3.17.2" + }, + "suggest": { + "symfony/console": "For helpful console commands such as SQL execution and import of files." + }, + "bin": [ + "bin/doctrine-dbal" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\DBAL\\": "lib/Doctrine/DBAL" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + } + ], + "description": "Powerful PHP database abstraction layer (DBAL) with many features for database schema introspection and management.", + "homepage": "https://www.doctrine-project.org/projects/dbal.html", + "keywords": [ + "abstraction", + "database", + "db2", + "dbal", + "mariadb", + "mssql", + "mysql", + "oci8", + "oracle", + "pdo", + "pgsql", + "postgresql", + "queryobject", + "sasql", + "sql", + "sqlanywhere", + "sqlite", + "sqlserver", + "sqlsrv" + ], + "support": { + "issues": "https://github.com/doctrine/dbal/issues", + "source": "https://github.com/doctrine/dbal/tree/2.12.1" + }, + "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%2Fdbal", + "type": "tidelift" + } + ], + "time": "2020-11-14T20:26:58+00:00" + }, + { + "name": "doctrine/doctrine-bundle", + "version": "2.2.3", + "source": { + "type": "git", + "url": "https://github.com/doctrine/DoctrineBundle.git", + "reference": "015fdd490074d4daa891e2d1df998dc35ba54924" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/015fdd490074d4daa891e2d1df998dc35ba54924", + "reference": "015fdd490074d4daa891e2d1df998dc35ba54924", + "shasum": "" + }, + "require": { + "doctrine/dbal": "^2.9.0|^3.0", + "doctrine/persistence": "^1.3.3|^2.0", + "doctrine/sql-formatter": "^1.0.1", + "php": "^7.1 || ^8.0", + "symfony/cache": "^4.3.3|^5.0", + "symfony/config": "^4.3.3|^5.0", + "symfony/console": "^3.4.30|^4.3.3|^5.0", + "symfony/dependency-injection": "^4.3.3|^5.0", + "symfony/doctrine-bridge": "^4.3.7|^5.0", + "symfony/framework-bundle": "^3.4.30|^4.3.3|^5.0", + "symfony/service-contracts": "^1.1.1|^2.0" + }, + "conflict": { + "doctrine/orm": "<2.6", + "twig/twig": "<1.34|>=2.0,<2.4" + }, + "require-dev": { + "doctrine/coding-standard": "^8.0", + "doctrine/orm": "^2.6", + "friendsofphp/proxy-manager-lts": "^1.0", + "phpunit/phpunit": "^7.5 || ^8.0 || ^9.3", + "symfony/phpunit-bridge": "^4.2", + "symfony/property-info": "^4.3.3|^5.0", + "symfony/proxy-manager-bridge": "^3.4|^4.3.3|^5.0", + "symfony/twig-bridge": "^3.4.30|^4.3.3|^5.0", + "symfony/validator": "^3.4.30|^4.3.3|^5.0", + "symfony/web-profiler-bundle": "^3.4.30|^4.3.3|^5.0", + "symfony/yaml": "^3.4.30|^4.3.3|^5.0", + "twig/twig": "^1.34|^2.12|^3.0" + }, + "suggest": { + "doctrine/orm": "The Doctrine ORM integration is optional in the bundle.", + "symfony/web-profiler-bundle": "To use the data collector." + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "2.3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Bundle\\DoctrineBundle\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Symfony Community", + "homepage": "http://symfony.com/contributors" + }, + { + "name": "Doctrine Project", + "homepage": "http://www.doctrine-project.org/" + } + ], + "description": "Symfony DoctrineBundle", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "database", + "dbal", + "orm", + "persistence" + ], + "support": { + "issues": "https://github.com/doctrine/DoctrineBundle/issues", + "source": "https://github.com/doctrine/DoctrineBundle/tree/2.2.3" + }, + "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%2Fdoctrine-bundle", + "type": "tidelift" + } + ], + "time": "2021-01-19T20:29:53+00:00" + }, + { + "name": "doctrine/doctrine-migrations-bundle", + "version": "3.0.2", + "source": { + "type": "git", + "url": "https://github.com/doctrine/DoctrineMigrationsBundle.git", + "reference": "b8de89fe811e62f1dea8cf9aafda0ea45ca6f1f3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/DoctrineMigrationsBundle/zipball/b8de89fe811e62f1dea8cf9aafda0ea45ca6f1f3", + "reference": "b8de89fe811e62f1dea8cf9aafda0ea45ca6f1f3", + "shasum": "" + }, + "require": { + "doctrine/doctrine-bundle": "~1.0|~2.0", + "doctrine/migrations": "~3.0", + "php": "^7.2|^8.0", + "symfony/framework-bundle": "~3.4|~4.0|~5.0" + }, + "require-dev": { + "doctrine/coding-standard": "^8.0", + "doctrine/orm": "^2.6", + "phpstan/phpstan": "^0.12", + "phpstan/phpstan-deprecation-rules": "^0.12", + "phpstan/phpstan-phpunit": "^0.12", + "phpstan/phpstan-strict-rules": "^0.12", + "phpunit/phpunit": "^7.0|^8.0|^9.0" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "3.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Bundle\\MigrationsBundle\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Doctrine Project", + "homepage": "http://www.doctrine-project.org" + }, + { + "name": "Symfony Community", + "homepage": "http://symfony.com/contributors" + } + ], + "description": "Symfony DoctrineMigrationsBundle", + "homepage": "https://www.doctrine-project.org", + "keywords": [ + "dbal", + "migrations", + "schema" + ], + "support": { + "issues": "https://github.com/doctrine/DoctrineMigrationsBundle/issues", + "source": "https://github.com/doctrine/DoctrineMigrationsBundle/tree/3.0.2" + }, + "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%2Fdoctrine-migrations-bundle", + "type": "tidelift" + } + ], + "time": "2020-12-23T15:13:22+00:00" + }, + { + "name": "doctrine/event-manager", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/event-manager.git", + "reference": "41370af6a30faa9dc0368c4a6814d596e81aba7f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/event-manager/zipball/41370af6a30faa9dc0368c4a6814d596e81aba7f", + "reference": "41370af6a30faa9dc0368c4a6814d596e81aba7f", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "conflict": { + "doctrine/common": "<2.9@dev" + }, + "require-dev": { + "doctrine/coding-standard": "^6.0", + "phpunit/phpunit": "^7.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\": "lib/Doctrine/Common" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + }, + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com" + } + ], + "description": "The Doctrine Event Manager is a simple PHP event system that was built to be used with the various Doctrine projects.", + "homepage": "https://www.doctrine-project.org/projects/event-manager.html", + "keywords": [ + "event", + "event dispatcher", + "event manager", + "event system", + "events" + ], + "support": { + "issues": "https://github.com/doctrine/event-manager/issues", + "source": "https://github.com/doctrine/event-manager/tree/1.1.x" + }, + "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%2Fevent-manager", + "type": "tidelift" + } + ], + "time": "2020-05-29T18:28:51+00:00" + }, + { + "name": "doctrine/inflector", + "version": "2.0.3", + "source": { + "type": "git", + "url": "https://github.com/doctrine/inflector.git", + "reference": "9cf661f4eb38f7c881cac67c75ea9b00bf97b210" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/9cf661f4eb38f7c881cac67c75ea9b00bf97b210", + "reference": "9cf661f4eb38f7c881cac67c75ea9b00bf97b210", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^7.0", + "phpstan/phpstan": "^0.11", + "phpstan/phpstan-phpunit": "^0.11", + "phpstan/phpstan-strict-rules": "^0.11", + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Inflector\\": "lib/Doctrine/Inflector" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Inflector is a small library that can perform string manipulations with regard to upper/lowercase and singular/plural forms of words.", + "homepage": "https://www.doctrine-project.org/projects/inflector.html", + "keywords": [ + "inflection", + "inflector", + "lowercase", + "manipulation", + "php", + "plural", + "singular", + "strings", + "uppercase", + "words" + ], + "support": { + "issues": "https://github.com/doctrine/inflector/issues", + "source": "https://github.com/doctrine/inflector/tree/2.0.x" + }, + "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%2Finflector", + "type": "tidelift" + } + ], + "time": "2020-05-29T15:13:26+00:00" + }, + { + "name": "doctrine/instantiator", + "version": "1.4.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/instantiator.git", + "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/d56bf6102915de5702778fe20f2de3b2fe570b5b", + "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^8.0", + "ext-pdo": "*", + "ext-phar": "*", + "phpbench/phpbench": "^0.13 || 1.0.0-alpha2", + "phpstan/phpstan": "^0.12", + "phpstan/phpstan-phpunit": "^0.12", + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" + }, + "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/1.4.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": "2020-11-10T18:47:58+00:00" + }, + { + "name": "doctrine/lexer", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/lexer.git", + "reference": "e864bbf5904cb8f5bb334f99209b48018522f042" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/e864bbf5904cb8f5bb334f99209b48018522f042", + "reference": "e864bbf5904cb8f5bb334f99209b48018522f042", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^6.0", + "phpstan/phpstan": "^0.11.8", + "phpunit/phpunit": "^8.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\Lexer\\": "lib/Doctrine/Common/Lexer" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", + "homepage": "https://www.doctrine-project.org/projects/lexer.html", + "keywords": [ + "annotations", + "docblock", + "lexer", + "parser", + "php" + ], + "support": { + "issues": "https://github.com/doctrine/lexer/issues", + "source": "https://github.com/doctrine/lexer/tree/1.2.1" + }, + "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%2Flexer", + "type": "tidelift" + } + ], + "time": "2020-05-25T17:44:05+00:00" + }, + { + "name": "doctrine/migrations", + "version": "3.1.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/migrations.git", + "reference": "260991be753a38aa25b6f2d13dbb7f113f8dbf8f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/migrations/zipball/260991be753a38aa25b6f2d13dbb7f113f8dbf8f", + "reference": "260991be753a38aa25b6f2d13dbb7f113f8dbf8f", + "shasum": "" + }, + "require": { + "composer/package-versions-deprecated": "^1.8", + "doctrine/dbal": "^2.10", + "doctrine/event-manager": "^1.0", + "friendsofphp/proxy-manager-lts": "^1.0", + "php": "^7.2 || ^8.0", + "psr/log": "^1.1.3", + "symfony/console": "^3.4 || ^4.4.16 || ^5.0", + "symfony/stopwatch": "^3.4 || ^4.0 || ^5.0" + }, + "require-dev": { + "doctrine/coding-standard": "^8.0", + "doctrine/orm": "^2.6", + "doctrine/persistence": "^1.3 || ^2.0", + "doctrine/sql-formatter": "^1.0", + "ergebnis/composer-normalize": "^2.9", + "ext-pdo_sqlite": "*", + "phpstan/phpstan": "^0.12", + "phpstan/phpstan-deprecation-rules": "^0.12", + "phpstan/phpstan-phpunit": "^0.12", + "phpstan/phpstan-strict-rules": "^0.12", + "phpstan/phpstan-symfony": "^0.12", + "phpunit/phpunit": "^8.5 || ^9.4", + "symfony/process": "^3.4 || ^4.0 || ^5.0", + "symfony/yaml": "^3.4 || ^4.0 || ^5.0" + }, + "suggest": { + "doctrine/sql-formatter": "Allows to generate formatted SQL with the diff command.", + "symfony/yaml": "Allows the use of yaml for migration configuration files." + }, + "bin": [ + "bin/doctrine-migrations" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0.x-dev" + }, + "composer-normalize": { + "indent-size": 4, + "indent-style": "space" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Migrations\\": "lib/Doctrine/Migrations" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Michael Simonson", + "email": "contact@mikesimonson.com" + } + ], + "description": "PHP Doctrine Migrations project offer additional functionality on top of the database abstraction layer (DBAL) for versioning your database schema and easily deploying changes to it. It is a very easy to use and a powerful tool.", + "homepage": "https://www.doctrine-project.org/projects/migrations.html", + "keywords": [ + "database", + "dbal", + "migrations" + ], + "support": { + "issues": "https://github.com/doctrine/migrations/issues", + "source": "https://github.com/doctrine/migrations/tree/3.1.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%2Fmigrations", + "type": "tidelift" + } + ], + "time": "2021-02-07T21:16:17+00:00" + }, + { + "name": "doctrine/orm", + "version": "2.8.2", + "source": { + "type": "git", + "url": "https://github.com/doctrine/orm.git", + "reference": "ebae57eb9637acd8252b398df3121b120688ed5c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/orm/zipball/ebae57eb9637acd8252b398df3121b120688ed5c", + "reference": "ebae57eb9637acd8252b398df3121b120688ed5c", + "shasum": "" + }, + "require": { + "composer/package-versions-deprecated": "^1.8", + "doctrine/annotations": "^1.11.1", + "doctrine/cache": "^1.9.1", + "doctrine/collections": "^1.5", + "doctrine/common": "^3.0.3", + "doctrine/dbal": "^2.10.0", + "doctrine/event-manager": "^1.1", + "doctrine/inflector": "^1.4|^2.0", + "doctrine/instantiator": "^1.3", + "doctrine/lexer": "^1.0", + "doctrine/persistence": "^2.0", + "ext-pdo": "*", + "php": "^7.2|^8.0", + "symfony/console": "^3.0|^4.0|^5.0" + }, + "require-dev": { + "doctrine/coding-standard": "^8.0", + "phpstan/phpstan": "^0.12.18", + "phpunit/phpunit": "^8.5|^9.4", + "symfony/yaml": "^3.4|^4.0|^5.0", + "vimeo/psalm": "4.1.1" + }, + "suggest": { + "symfony/yaml": "If you want to use YAML Metadata Mapping Driver" + }, + "bin": [ + "bin/doctrine" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.7.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\ORM\\": "lib/Doctrine/ORM" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com" + } + ], + "description": "Object-Relational-Mapper for PHP", + "homepage": "https://www.doctrine-project.org/projects/orm.html", + "keywords": [ + "database", + "orm" + ], + "support": { + "issues": "https://github.com/doctrine/orm/issues", + "source": "https://github.com/doctrine/orm/tree/2.8.2" + }, + "time": "2021-02-16T22:10:18+00:00" + }, + { + "name": "doctrine/persistence", + "version": "2.1.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/persistence.git", + "reference": "9899c16934053880876b920a3b8b02ed2337ac1d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/persistence/zipball/9899c16934053880876b920a3b8b02ed2337ac1d", + "reference": "9899c16934053880876b920a3b8b02ed2337ac1d", + "shasum": "" + }, + "require": { + "doctrine/annotations": "^1.0", + "doctrine/cache": "^1.0", + "doctrine/collections": "^1.0", + "doctrine/event-manager": "^1.0", + "php": "^7.1 || ^8.0" + }, + "conflict": { + "doctrine/common": "<2.10@dev" + }, + "require-dev": { + "composer/package-versions-deprecated": "^1.11", + "doctrine/coding-standard": "^6.0 || ^8.0", + "doctrine/common": "^3.0", + "phpstan/phpstan": "^0.12", + "phpunit/phpunit": "^7.5.20 || ^8.0 || ^9.0", + "vimeo/psalm": "^3.11" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Common\\": "lib/Doctrine/Common", + "Doctrine\\Persistence\\": "lib/Doctrine/Persistence" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + }, + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com" + } + ], + "description": "The Doctrine Persistence project is a set of shared interfaces and functionality that the different Doctrine object mappers share.", + "homepage": "https://doctrine-project.org/projects/persistence.html", + "keywords": [ + "mapper", + "object", + "odm", + "orm", + "persistence" + ], + "support": { + "issues": "https://github.com/doctrine/persistence/issues", + "source": "https://github.com/doctrine/persistence/tree/2.1.0" + }, + "time": "2020-10-24T22:13:54+00:00" + }, + { + "name": "doctrine/sql-formatter", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/sql-formatter.git", + "reference": "56070bebac6e77230ed7d306ad13528e60732871" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/sql-formatter/zipball/56070bebac6e77230ed7d306ad13528e60732871", + "reference": "56070bebac6e77230ed7d306ad13528e60732871", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.4" + }, + "bin": [ + "bin/sql-formatter" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\SqlFormatter\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jeremy Dorn", + "email": "jeremy@jeremydorn.com", + "homepage": "http://jeremydorn.com/" + } + ], + "description": "a PHP SQL highlighting library", + "homepage": "https://github.com/doctrine/sql-formatter/", + "keywords": [ + "highlight", + "sql" + ], + "support": { + "issues": "https://github.com/doctrine/sql-formatter/issues", + "source": "https://github.com/doctrine/sql-formatter/tree/1.1.x" + }, + "time": "2020-07-30T16:57:33+00:00" + }, + { + "name": "friendsofphp/proxy-manager-lts", + "version": "v1.0.3", + "source": { + "type": "git", + "url": "https://github.com/FriendsOfPHP/proxy-manager-lts.git", + "reference": "121af47c9aee9c03031bdeca3fac0540f59aa5c3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/FriendsOfPHP/proxy-manager-lts/zipball/121af47c9aee9c03031bdeca3fac0540f59aa5c3", + "reference": "121af47c9aee9c03031bdeca3fac0540f59aa5c3", + "shasum": "" + }, + "require": { + "laminas/laminas-code": "~3.4.1|^4.0", + "php": ">=7.1", + "symfony/filesystem": "^4.4.17|^5.0" + }, + "conflict": { + "laminas/laminas-stdlib": "<3.2.1", + "zendframework/zend-stdlib": "<3.2.1" + }, + "replace": { + "ocramius/proxy-manager": "^2.1" + }, + "require-dev": { + "ext-phar": "*", + "symfony/phpunit-bridge": "^5.2" + }, + "type": "library", + "extra": { + "thanks": { + "name": "ocramius/proxy-manager", + "url": "https://github.com/Ocramius/ProxyManager" + } + }, + "autoload": { + "psr-4": { + "ProxyManager\\": "src/ProxyManager" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "homepage": "http://ocramius.github.io/" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + } + ], + "description": "Adding support for a wider range of PHP versions to ocramius/proxy-manager", + "homepage": "https://github.com/FriendsOfPHP/proxy-manager-lts", + "keywords": [ + "aop", + "lazy loading", + "proxy", + "proxy pattern", + "service proxies" + ], + "support": { + "issues": "https://github.com/FriendsOfPHP/proxy-manager-lts/issues", + "source": "https://github.com/FriendsOfPHP/proxy-manager-lts/tree/v1.0.3" + }, + "funding": [ + { + "url": "https://github.com/Ocramius", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/ocramius/proxy-manager", + "type": "tidelift" + } + ], + "time": "2021-01-14T21:52:44+00:00" + }, + { + "name": "laminas/laminas-code", + "version": "4.0.0", + "source": { + "type": "git", + "url": "https://github.com/laminas/laminas-code.git", + "reference": "28a6d70ea8b8bca687d7163300e611ae33baf82a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laminas/laminas-code/zipball/28a6d70ea8b8bca687d7163300e611ae33baf82a", + "reference": "28a6d70ea8b8bca687d7163300e611ae33baf82a", + "shasum": "" + }, + "require": { + "laminas/laminas-eventmanager": "^3.3", + "php": "^7.4 || ~8.0.0" + }, + "conflict": { + "phpspec/prophecy": "<1.9.0" + }, + "replace": { + "zendframework/zend-code": "self.version" + }, + "require-dev": { + "doctrine/annotations": "^1.10.4", + "ext-phar": "*", + "laminas/laminas-coding-standard": "^2.1.4", + "laminas/laminas-stdlib": "^3.3.0", + "phpunit/phpunit": "^9.4.2", + "psalm/plugin-phpunit": "^0.14.0", + "vimeo/psalm": "^4.3.1" + }, + "suggest": { + "doctrine/annotations": "Doctrine\\Common\\Annotations >=1.0 for annotation features", + "laminas/laminas-stdlib": "Laminas\\Stdlib component", + "laminas/laminas-zendframework-bridge": "A bridge with Zend Framework" + }, + "type": "library", + "autoload": { + "psr-4": { + "Laminas\\Code\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Extensions to the PHP Reflection API, static code scanning, and code generation", + "homepage": "https://laminas.dev", + "keywords": [ + "code", + "laminas", + "laminasframework" + ], + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-code/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-code/issues", + "rss": "https://github.com/laminas/laminas-code/releases.atom", + "source": "https://github.com/laminas/laminas-code" + }, + "funding": [ + { + "url": "https://funding.communitybridge.org/projects/laminas-project", + "type": "community_bridge" + } + ], + "time": "2020-12-30T16:16:14+00:00" + }, + { + "name": "laminas/laminas-eventmanager", + "version": "3.3.0", + "source": { + "type": "git", + "url": "https://github.com/laminas/laminas-eventmanager.git", + "reference": "1940ccf30e058b2fd66f5a9d696f1b5e0027b082" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laminas/laminas-eventmanager/zipball/1940ccf30e058b2fd66f5a9d696f1b5e0027b082", + "reference": "1940ccf30e058b2fd66f5a9d696f1b5e0027b082", + "shasum": "" + }, + "require": { + "laminas/laminas-zendframework-bridge": "^1.0", + "php": "^7.3 || ^8.0" + }, + "replace": { + "zendframework/zend-eventmanager": "^3.2.1" + }, + "require-dev": { + "container-interop/container-interop": "^1.1", + "laminas/laminas-coding-standard": "~1.0.0", + "laminas/laminas-stdlib": "^2.7.3 || ^3.0", + "phpbench/phpbench": "^0.17.1", + "phpunit/phpunit": "^8.5.8" + }, + "suggest": { + "container-interop/container-interop": "^1.1, to use the lazy listeners feature", + "laminas/laminas-stdlib": "^2.7.3 || ^3.0, to use the FilterChain feature" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.3.x-dev", + "dev-develop": "3.4.x-dev" + } + }, + "autoload": { + "psr-4": { + "Laminas\\EventManager\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Trigger and listen to events within a PHP application", + "homepage": "https://laminas.dev", + "keywords": [ + "event", + "eventmanager", + "events", + "laminas" + ], + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-eventmanager/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-eventmanager/issues", + "rss": "https://github.com/laminas/laminas-eventmanager/releases.atom", + "source": "https://github.com/laminas/laminas-eventmanager" + }, + "funding": [ + { + "url": "https://funding.communitybridge.org/projects/laminas-project", + "type": "community_bridge" + } + ], + "time": "2020-08-25T11:10:44+00:00" + }, + { + "name": "laminas/laminas-zendframework-bridge", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/laminas/laminas-zendframework-bridge.git", + "reference": "6ede70583e101030bcace4dcddd648f760ddf642" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laminas/laminas-zendframework-bridge/zipball/6ede70583e101030bcace4dcddd648f760ddf642", + "reference": "6ede70583e101030bcace4dcddd648f760ddf642", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0 || ^8.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.7 || ^6.5 || ^7.5 || ^8.1 || ^9.3", + "squizlabs/php_codesniffer": "^3.5" + }, + "type": "library", + "extra": { + "laminas": { + "module": "Laminas\\ZendFrameworkBridge" + } + }, + "autoload": { + "files": [ + "src/autoload.php" + ], + "psr-4": { + "Laminas\\ZendFrameworkBridge\\": "src//" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Alias legacy ZF class names to Laminas Project equivalents.", + "keywords": [ + "ZendFramework", + "autoloading", + "laminas", + "zf" + ], + "support": { + "forum": "https://discourse.laminas.dev/", + "issues": "https://github.com/laminas/laminas-zendframework-bridge/issues", + "rss": "https://github.com/laminas/laminas-zendframework-bridge/releases.atom", + "source": "https://github.com/laminas/laminas-zendframework-bridge" + }, + "funding": [ + { + "url": "https://funding.communitybridge.org/projects/laminas-project", + "type": "community_bridge" + } + ], + "time": "2020-09-14T14:23:00+00:00" + }, + { + "name": "monolog/monolog", + "version": "2.2.0", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/monolog.git", + "reference": "1cb1cde8e8dd0f70cc0fe51354a59acad9302084" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/1cb1cde8e8dd0f70cc0fe51354a59acad9302084", + "reference": "1cb1cde8e8dd0f70cc0fe51354a59acad9302084", + "shasum": "" + }, + "require": { + "php": ">=7.2", + "psr/log": "^1.0.1" + }, + "provide": { + "psr/log-implementation": "1.0.0" + }, + "require-dev": { + "aws/aws-sdk-php": "^2.4.9 || ^3.0", + "doctrine/couchdb": "~1.0@dev", + "elasticsearch/elasticsearch": "^7", + "graylog2/gelf-php": "^1.4.2", + "mongodb/mongodb": "^1.8", + "php-amqplib/php-amqplib": "~2.4", + "php-console/php-console": "^3.1.3", + "phpspec/prophecy": "^1.6.1", + "phpstan/phpstan": "^0.12.59", + "phpunit/phpunit": "^8.5", + "predis/predis": "^1.1", + "rollbar/rollbar": "^1.3", + "ruflin/elastica": ">=0.90 <7.0.1", + "swiftmailer/swiftmailer": "^5.3|^6.0" + }, + "suggest": { + "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", + "doctrine/couchdb": "Allow sending log messages to a CouchDB server", + "elasticsearch/elasticsearch": "Allow sending log messages to an Elasticsearch server via official client", + "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", + "ext-mbstring": "Allow to work properly with unicode symbols", + "ext-mongodb": "Allow sending log messages to a MongoDB server (via driver)", + "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", + "mongodb/mongodb": "Allow sending log messages to a MongoDB server (via library)", + "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", + "php-console/php-console": "Allow sending log messages to Google Chrome", + "rollbar/rollbar": "Allow sending log messages to Rollbar", + "ruflin/elastica": "Allow sending log messages to an Elastic Search server" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Monolog\\": "src/Monolog" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "https://seld.be" + } + ], + "description": "Sends your logs to files, sockets, inboxes, databases and various web services", + "homepage": "https://github.com/Seldaek/monolog", + "keywords": [ + "log", + "logging", + "psr-3" + ], + "support": { + "issues": "https://github.com/Seldaek/monolog/issues", + "source": "https://github.com/Seldaek/monolog/tree/2.2.0" + }, + "funding": [ + { + "url": "https://github.com/Seldaek", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/monolog/monolog", + "type": "tidelift" + } + ], + "time": "2020-12-14T13:15:25+00:00" + }, + { + "name": "phpdocumentor/reflection-common", + "version": "2.2.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionCommon.git", + "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b", + "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-2.x": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jaap van Otterdijk", + "email": "opensource@ijaap.nl" + } + ], + "description": "Common reflection classes used by phpdocumentor to reflect the code structure", + "homepage": "http://www.phpdoc.org", + "keywords": [ + "FQSEN", + "phpDocumentor", + "phpdoc", + "reflection", + "static analysis" + ], + "support": { + "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues", + "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x" + }, + "time": "2020-06-27T09:03:43+00:00" + }, + { + "name": "phpdocumentor/reflection-docblock", + "version": "5.2.2", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", + "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/069a785b2141f5bcf49f3e353548dc1cce6df556", + "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556", + "shasum": "" + }, + "require": { + "ext-filter": "*", + "php": "^7.2 || ^8.0", + "phpdocumentor/reflection-common": "^2.2", + "phpdocumentor/type-resolver": "^1.3", + "webmozart/assert": "^1.9.1" + }, + "require-dev": { + "mockery/mockery": "~1.3.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + }, + { + "name": "Jaap van Otterdijk", + "email": "account@ijaap.nl" + } + ], + "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", + "support": { + "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", + "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/master" + }, + "time": "2020-09-03T19:13:55+00:00" + }, + { + "name": "phpdocumentor/type-resolver", + "version": "1.4.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/TypeResolver.git", + "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0", + "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0", + "phpdocumentor/reflection-common": "^2.0" + }, + "require-dev": { + "ext-tokenizer": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-1.x": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + } + ], + "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", + "support": { + "issues": "https://github.com/phpDocumentor/TypeResolver/issues", + "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.4.0" + }, + "time": "2020-09-17T18:55:26+00:00" + }, + { + "name": "psr/cache", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/cache.git", + "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8", + "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Cache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for caching libraries", + "keywords": [ + "cache", + "psr", + "psr-6" + ], + "support": { + "source": "https://github.com/php-fig/cache/tree/master" + }, + "time": "2016-08-06T20:24:11+00:00" + }, + { + "name": "psr/container", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://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/master" + }, + "time": "2017-02-14T16:28:37+00:00" + }, + { + "name": "psr/event-dispatcher", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/event-dispatcher.git", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", + "shasum": "" + }, + "require": { + "php": ">=7.2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\EventDispatcher\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Standard interfaces for event handling.", + "keywords": [ + "events", + "psr", + "psr-14" + ], + "support": { + "issues": "https://github.com/php-fig/event-dispatcher/issues", + "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" + }, + "time": "2019-01-08T18:20:26+00:00" + }, + { + "name": "psr/link", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/link.git", + "reference": "94d170941164db307197ebf436296372b849bdb5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/link/zipball/94d170941164db307197ebf436296372b849bdb5", + "reference": "94d170941164db307197ebf436296372b849bdb5", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Link\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interfaces for HTTP links", + "homepage": "https://github.com/php-fig/link", + "keywords": [ + "http", + "http-link", + "link", + "psr", + "psr-13", + "rest" + ], + "support": { + "source": "https://github.com/php-fig/link/tree/1.1.0" + }, + "time": "2021-02-03T23:29:51+00:00" + }, + { + "name": "psr/log", + "version": "1.1.3", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc", + "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "Psr/Log/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://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/1.1.3" + }, + "time": "2020-03-23T09:12:05+00:00" + }, + { + "name": "sensio/framework-extra-bundle", + "version": "v6.1.1", + "source": { + "type": "git", + "url": "https://github.com/sensiolabs/SensioFrameworkExtraBundle.git", + "reference": "8ef75e99f20332f2725587896364f7079b53de95" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sensiolabs/SensioFrameworkExtraBundle/zipball/8ef75e99f20332f2725587896364f7079b53de95", + "reference": "8ef75e99f20332f2725587896364f7079b53de95", + "shasum": "" + }, + "require": { + "doctrine/annotations": "^1.0", + "php": ">=7.2.5", + "symfony/config": "^4.4|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/framework-bundle": "^4.4|^5.0", + "symfony/http-kernel": "^4.4|^5.0" + }, + "conflict": { + "doctrine/doctrine-cache-bundle": "<1.3.1", + "doctrine/persistence": "<1.3" + }, + "require-dev": { + "doctrine/dbal": "^2.10|^3.0", + "doctrine/doctrine-bundle": "^1.11|^2.0", + "doctrine/orm": "^2.5", + "symfony/browser-kit": "^4.4|^5.0", + "symfony/doctrine-bridge": "^4.4|^5.0", + "symfony/dom-crawler": "^4.4|^5.0", + "symfony/expression-language": "^4.4|^5.0", + "symfony/finder": "^4.4|^5.0", + "symfony/monolog-bridge": "^4.0|^5.0", + "symfony/monolog-bundle": "^3.2", + "symfony/phpunit-bridge": "^4.4.9|^5.0.9", + "symfony/security-bundle": "^4.4|^5.0", + "symfony/twig-bundle": "^4.4|^5.0", + "symfony/yaml": "^4.4|^5.0", + "twig/twig": "^1.34|^2.4|^3.0" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "6.1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Sensio\\Bundle\\FrameworkExtraBundle\\": "src/" + }, + "exclude-from-classmap": [ + "/tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "This bundle provides a way to configure your controllers with annotations", + "keywords": [ + "annotations", + "controllers" + ], + "support": { + "issues": "https://github.com/sensiolabs/SensioFrameworkExtraBundle/issues", + "source": "https://github.com/sensiolabs/SensioFrameworkExtraBundle/tree/v6.1.1" + }, + "time": "2021-02-23T11:50:58+00:00" + }, + { + "name": "symfony/asset", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/asset.git", + "reference": "54a42aa50f9359d1184bf7e954521b45ca3d5828" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/asset/zipball/54a42aa50f9359d1184bf7e954521b45ca3d5828", + "reference": "54a42aa50f9359d1184bf7e954521b45ca3d5828", + "shasum": "" + }, + "require": { + "php": ">=7.2.5" + }, + "require-dev": { + "symfony/http-client": "^4.4|^5.0", + "symfony/http-foundation": "^4.4|^5.0", + "symfony/http-kernel": "^4.4|^5.0" + }, + "suggest": { + "symfony/http-foundation": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Asset\\": "" + }, + "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": "Manages URL generation and versioning of web assets such as CSS stylesheets, JavaScript files and image files", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/asset/tree/v5.2.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": "2021-01-27T10:01:46+00:00" + }, + { + "name": "symfony/cache", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/cache.git", + "reference": "d6aed6c1bbf6f59e521f46437475a0ff4878d388" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/cache/zipball/d6aed6c1bbf6f59e521f46437475a0ff4878d388", + "reference": "d6aed6c1bbf6f59e521f46437475a0ff4878d388", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/cache": "~1.0", + "psr/log": "^1.1", + "symfony/cache-contracts": "^1.1.7|^2", + "symfony/polyfill-php80": "^1.15", + "symfony/service-contracts": "^1.1|^2", + "symfony/var-exporter": "^4.4|^5.0" + }, + "conflict": { + "doctrine/dbal": "<2.10", + "symfony/dependency-injection": "<4.4", + "symfony/http-kernel": "<4.4", + "symfony/var-dumper": "<4.4" + }, + "provide": { + "psr/cache-implementation": "1.0", + "psr/simple-cache-implementation": "1.0", + "symfony/cache-implementation": "1.0" + }, + "require-dev": { + "cache/integration-tests": "dev-master", + "doctrine/cache": "^1.6", + "doctrine/dbal": "^2.10|^3.0", + "predis/predis": "^1.1", + "psr/simple-cache": "^1.0", + "symfony/config": "^4.4|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/filesystem": "^4.4|^5.0", + "symfony/http-kernel": "^4.4|^5.0", + "symfony/messenger": "^4.4|^5.0", + "symfony/var-dumper": "^4.4|^5.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Cache\\": "" + }, + "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": "Provides an extended PSR-6, PSR-16 (and tags) implementation", + "homepage": "https://symfony.com", + "keywords": [ + "caching", + "psr6" + ], + "support": { + "source": "https://github.com/symfony/cache/tree/v5.2.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": "2021-01-27T11:24:50+00:00" + }, + { + "name": "symfony/cache-contracts", + "version": "v2.2.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/cache-contracts.git", + "reference": "8034ca0b61d4dd967f3698aaa1da2507b631d0cb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/8034ca0b61d4dd967f3698aaa1da2507b631d0cb", + "reference": "8034ca0b61d4dd967f3698aaa1da2507b631d0cb", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/cache": "^1.0" + }, + "suggest": { + "symfony/cache-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.2-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Cache\\": "" + } + }, + "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 caching", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/cache-contracts/tree/v2.2.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": "2020-09-07T11:33:47+00:00" + }, + { + "name": "symfony/config", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/config.git", + "reference": "50e0e1314a3b2609d32b6a5a0d0fb5342494c4ab" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/config/zipball/50e0e1314a3b2609d32b6a5a0d0fb5342494c4ab", + "reference": "50e0e1314a3b2609d32b6a5a0d0fb5342494c4ab", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/filesystem": "^4.4|^5.0", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-php80": "^1.15" + }, + "conflict": { + "symfony/finder": "<4.4" + }, + "require-dev": { + "symfony/event-dispatcher": "^4.4|^5.0", + "symfony/finder": "^4.4|^5.0", + "symfony/messenger": "^4.4|^5.0", + "symfony/service-contracts": "^1.1|^2", + "symfony/yaml": "^4.4|^5.0" + }, + "suggest": { + "symfony/yaml": "To use the yaml reference dumper" + }, + "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/v5.2.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": "2021-01-27T10:15:41+00:00" + }, + { + "name": "symfony/console", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "89d4b176d12a2946a1ae4e34906a025b7b6b135a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/89d4b176d12a2946a1ae4e34906a025b7b6b135a", + "reference": "89d4b176d12a2946a1ae4e34906a025b7b6b135a", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php73": "^1.8", + "symfony/polyfill-php80": "^1.15", + "symfony/service-contracts": "^1.1|^2", + "symfony/string": "^5.1" + }, + "conflict": { + "symfony/dependency-injection": "<4.4", + "symfony/dotenv": "<5.1", + "symfony/event-dispatcher": "<4.4", + "symfony/lock": "<4.4", + "symfony/process": "<4.4" + }, + "provide": { + "psr/log-implementation": "1.0" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "^4.4|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/event-dispatcher": "^4.4|^5.0", + "symfony/lock": "^4.4|^5.0", + "symfony/process": "^4.4|^5.0", + "symfony/var-dumper": "^4.4|^5.0" + }, + "suggest": { + "psr/log": "For using the console logger", + "symfony/event-dispatcher": "", + "symfony/lock": "", + "symfony/process": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Console\\": "" + }, + "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": "Eases the creation of beautiful and testable command line interfaces", + "homepage": "https://symfony.com", + "keywords": [ + "cli", + "command line", + "console", + "terminal" + ], + "support": { + "source": "https://github.com/symfony/console/tree/v5.2.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": "2021-01-28T22:06:19+00:00" + }, + { + "name": "symfony/dependency-injection", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/dependency-injection.git", + "reference": "62f72187be689540385dce6c68a5d4c16f034139" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/62f72187be689540385dce6c68a5d4c16f034139", + "reference": "62f72187be689540385dce6c68a5d4c16f034139", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/container": "^1.0", + "symfony/deprecation-contracts": "^2.1", + "symfony/polyfill-php80": "^1.15", + "symfony/service-contracts": "^1.1.6|^2" + }, + "conflict": { + "symfony/config": "<5.1", + "symfony/finder": "<4.4", + "symfony/proxy-manager-bridge": "<4.4", + "symfony/yaml": "<4.4" + }, + "provide": { + "psr/container-implementation": "1.0", + "symfony/service-implementation": "1.0" + }, + "require-dev": { + "symfony/config": "^5.1", + "symfony/expression-language": "^4.4|^5.0", + "symfony/yaml": "^4.4|^5.0" + }, + "suggest": { + "symfony/config": "", + "symfony/expression-language": "For using expressions in service container configuration", + "symfony/finder": "For using double-star glob patterns or when GLOB_BRACE portability is required", + "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them", + "symfony/yaml": "" + }, + "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/v5.2.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": "2021-01-27T12:56:27+00:00" + }, + { + "name": "symfony/deprecation-contracts", + "version": "v2.2.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "5fa56b4074d1ae755beb55617ddafe6f5d78f665" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5fa56b4074d1ae755beb55617ddafe6f5d78f665", + "reference": "5fa56b4074d1ae755beb55617ddafe6f5d78f665", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.2-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/master" + }, + "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": "2020-09-07T11:33:47+00:00" + }, + { + "name": "symfony/doctrine-bridge", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/doctrine-bridge.git", + "reference": "c348e596f49df406a7c0a51443864038b3137cac" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/c348e596f49df406a7c0a51443864038b3137cac", + "reference": "c348e596f49df406a7c0a51443864038b3137cac", + "shasum": "" + }, + "require": { + "doctrine/event-manager": "~1.0", + "doctrine/persistence": "^2", + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "^1.15", + "symfony/service-contracts": "^1.1|^2" + }, + "conflict": { + "doctrine/dbal": "<2.10", + "phpunit/phpunit": "<5.4.3", + "symfony/dependency-injection": "<4.4", + "symfony/form": "<5.1", + "symfony/http-kernel": "<5", + "symfony/messenger": "<4.4", + "symfony/property-info": "<5", + "symfony/security-bundle": "<5", + "symfony/security-core": "<5", + "symfony/validator": "<5.2" + }, + "require-dev": { + "composer/package-versions-deprecated": "^1.8", + "doctrine/annotations": "^1.10.4", + "doctrine/cache": "~1.6", + "doctrine/collections": "~1.0", + "doctrine/data-fixtures": "^1.1", + "doctrine/dbal": "^2.10|^3.0", + "doctrine/orm": "^2.7.3", + "symfony/cache": "^5.1", + "symfony/config": "^4.4|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/doctrine-messenger": "^5.1", + "symfony/expression-language": "^4.4|^5.0", + "symfony/form": "^5.1.3", + "symfony/http-kernel": "^5.0", + "symfony/messenger": "^4.4|^5.0", + "symfony/property-access": "^4.4|^5.0", + "symfony/property-info": "^5.0", + "symfony/proxy-manager-bridge": "^4.4|^5.0", + "symfony/security-core": "^5.0", + "symfony/stopwatch": "^4.4|^5.0", + "symfony/translation": "^4.4|^5.0", + "symfony/uid": "^5.1", + "symfony/validator": "^5.2", + "symfony/var-dumper": "^4.4|^5.0" + }, + "suggest": { + "doctrine/data-fixtures": "", + "doctrine/dbal": "", + "doctrine/orm": "", + "symfony/form": "", + "symfony/property-info": "", + "symfony/validator": "" + }, + "type": "symfony-bridge", + "autoload": { + "psr-4": { + "Symfony\\Bridge\\Doctrine\\": "" + }, + "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 integration for Doctrine with various Symfony components", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/doctrine-bridge/tree/v5.2.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": "2021-02-03T04:42:09+00:00" + }, + { + "name": "symfony/dotenv", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/dotenv.git", + "reference": "783f12027c6b40ab0e93d6136d9f642d1d67cd6b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/dotenv/zipball/783f12027c6b40ab0e93d6136d9f642d1d67cd6b", + "reference": "783f12027c6b40ab0e93d6136d9f642d1d67cd6b", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1" + }, + "require-dev": { + "symfony/process": "^4.4|^5.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Dotenv\\": "" + }, + "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": "Registers environment variables from a .env file", + "homepage": "https://symfony.com", + "keywords": [ + "dotenv", + "env", + "environment" + ], + "support": { + "source": "https://github.com/symfony/dotenv/tree/v5.2.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": "2021-01-27T10:01:46+00:00" + }, + { + "name": "symfony/error-handler", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/error-handler.git", + "reference": "48f18b3609e120ea66d59142c23dc53e9562c26d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/48f18b3609e120ea66d59142c23dc53e9562c26d", + "reference": "48f18b3609e120ea66d59142c23dc53e9562c26d", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/log": "^1.0", + "symfony/polyfill-php80": "^1.15", + "symfony/var-dumper": "^4.4|^5.0" + }, + "require-dev": { + "symfony/deprecation-contracts": "^2.1", + "symfony/http-kernel": "^4.4|^5.0", + "symfony/serializer": "^4.4|^5.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\ErrorHandler\\": "" + }, + "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 tools to manage errors and ease debugging PHP code", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/error-handler/tree/v5.2.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": "2021-01-28T22:06:19+00:00" + }, + { + "name": "symfony/event-dispatcher", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "4f9760f8074978ad82e2ce854dff79a71fe45367" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/4f9760f8074978ad82e2ce854dff79a71fe45367", + "reference": "4f9760f8074978ad82e2ce854dff79a71fe45367", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/event-dispatcher-contracts": "^2", + "symfony/polyfill-php80": "^1.15" + }, + "conflict": { + "symfony/dependency-injection": "<4.4" + }, + "provide": { + "psr/event-dispatcher-implementation": "1.0", + "symfony/event-dispatcher-implementation": "2.0" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "^4.4|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/error-handler": "^4.4|^5.0", + "symfony/expression-language": "^4.4|^5.0", + "symfony/http-foundation": "^4.4|^5.0", + "symfony/service-contracts": "^1.1|^2", + "symfony/stopwatch": "^4.4|^5.0" + }, + "suggest": { + "symfony/dependency-injection": "", + "symfony/http-kernel": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\EventDispatcher\\": "" + }, + "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 tools that allow your application components to communicate with each other by dispatching events and listening to them", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/event-dispatcher/tree/v5.2.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": "2021-01-27T10:36:42+00:00" + }, + { + "name": "symfony/event-dispatcher-contracts", + "version": "v2.2.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher-contracts.git", + "reference": "0ba7d54483095a198fa51781bc608d17e84dffa2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/0ba7d54483095a198fa51781bc608d17e84dffa2", + "reference": "0ba7d54483095a198fa51781bc608d17e84dffa2", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/event-dispatcher": "^1" + }, + "suggest": { + "symfony/event-dispatcher-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.2-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\EventDispatcher\\": "" + } + }, + "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 dispatching event", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.2.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": "2020-09-07T11:33:47+00:00" + }, + { + "name": "symfony/expression-language", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/expression-language.git", + "reference": "7bf30a4e29887110f8bd1882ccc82ee63c8a5133" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/expression-language/zipball/7bf30a4e29887110f8bd1882ccc82ee63c8a5133", + "reference": "7bf30a4e29887110f8bd1882ccc82ee63c8a5133", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/cache": "^4.4|^5.0", + "symfony/polyfill-php80": "^1.15", + "symfony/service-contracts": "^1.1|^2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\ExpressionLanguage\\": "" + }, + "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 an engine that can compile and evaluate expressions", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/expression-language/tree/v5.2.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": "2021-01-27T10:15:41+00:00" + }, + { + "name": "symfony/filesystem", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/filesystem.git", + "reference": "262d033b57c73e8b59cd6e68a45c528318b15038" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/262d033b57c73e8b59cd6e68a45c528318b15038", + "reference": "262d033b57c73e8b59cd6e68a45c528318b15038", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-ctype": "~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/v5.2.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": "2021-01-27T10:01:46+00:00" + }, + { + "name": "symfony/finder", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "4adc8d172d602008c204c2e16956f99257248e03" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/finder/zipball/4adc8d172d602008c204c2e16956f99257248e03", + "reference": "4adc8d172d602008c204c2e16956f99257248e03", + "shasum": "" + }, + "require": { + "php": ">=7.2.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Finder\\": "" + }, + "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": "Finds files and directories via an intuitive fluent interface", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/finder/tree/v5.2.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": "2021-01-28T22:06:19+00:00" + }, + { + "name": "symfony/flex", + "version": "v1.12.2", + "source": { + "type": "git", + "url": "https://github.com/symfony/flex.git", + "reference": "e472606b4b3173564f0edbca8f5d32b52fc4f2c9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/flex/zipball/e472606b4b3173564f0edbca8f5d32b52fc4f2c9", + "reference": "e472606b4b3173564f0edbca8f5d32b52fc4f2c9", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.0|^2.0", + "php": ">=7.1" + }, + "require-dev": { + "composer/composer": "^1.0.2|^2.0", + "symfony/dotenv": "^4.4|^5.0", + "symfony/filesystem": "^4.4|^5.0", + "symfony/phpunit-bridge": "^4.4|^5.0", + "symfony/process": "^3.4|^4.4|^5.0" + }, + "type": "composer-plugin", + "extra": { + "branch-alias": { + "dev-main": "1.12-dev" + }, + "class": "Symfony\\Flex\\Flex" + }, + "autoload": { + "psr-4": { + "Symfony\\Flex\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien.potencier@gmail.com" + } + ], + "description": "Composer plugin for Symfony", + "support": { + "issues": "https://github.com/symfony/flex/issues", + "source": "https://github.com/symfony/flex/tree/v1.12.2" + }, + "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": "2021-02-16T14:05:05+00:00" + }, + { + "name": "symfony/form", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/form.git", + "reference": "4f3069be5fe46e72f3ec233fc61ac2828ea5b301" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/form/zipball/4f3069be5fe46e72f3ec233fc61ac2828ea5b301", + "reference": "4f3069be5fe46e72f3ec233fc61ac2828ea5b301", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/event-dispatcher": "^4.4|^5.0", + "symfony/intl": "^4.4|^5.0", + "symfony/options-resolver": "^5.1", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "^1.15", + "symfony/property-access": "^5.0.8", + "symfony/service-contracts": "^1.1|^2" + }, + "conflict": { + "phpunit/phpunit": "<5.4.3", + "symfony/console": "<4.4", + "symfony/dependency-injection": "<4.4", + "symfony/doctrine-bridge": "<4.4", + "symfony/error-handler": "<4.4.5", + "symfony/framework-bundle": "<4.4", + "symfony/http-kernel": "<4.4", + "symfony/intl": "<4.4", + "symfony/translation": "<4.4", + "symfony/translation-contracts": "<1.1.7", + "symfony/twig-bridge": "<4.4" + }, + "require-dev": { + "doctrine/collections": "~1.0", + "symfony/config": "^4.4|^5.0", + "symfony/console": "^4.4|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/expression-language": "^4.4|^5.0", + "symfony/http-foundation": "^4.4|^5.0", + "symfony/http-kernel": "^4.4|^5.0", + "symfony/security-csrf": "^4.4|^5.0", + "symfony/translation": "^4.4|^5.0", + "symfony/validator": "^4.4.17|^5.1.9", + "symfony/var-dumper": "^4.4|^5.0" + }, + "suggest": { + "symfony/security-csrf": "For protecting forms against CSRF attacks.", + "symfony/twig-bridge": "For templating with Twig.", + "symfony/validator": "For form validation." + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Form\\": "" + }, + "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 to easily create, process and reuse HTML forms", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/form/tree/v5.2.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": "2021-01-28T22:06:19+00:00" + }, + { + "name": "symfony/framework-bundle", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/framework-bundle.git", + "reference": "ff455b2afd3f98237d4131ffebe190e59cc0f011" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/ff455b2afd3f98237d4131ffebe190e59cc0f011", + "reference": "ff455b2afd3f98237d4131ffebe190e59cc0f011", + "shasum": "" + }, + "require": { + "ext-xml": "*", + "php": ">=7.2.5", + "symfony/cache": "^5.2", + "symfony/config": "^5.0", + "symfony/dependency-injection": "^5.2", + "symfony/deprecation-contracts": "^2.1", + "symfony/error-handler": "^4.4.1|^5.0.1", + "symfony/event-dispatcher": "^5.1", + "symfony/filesystem": "^4.4|^5.0", + "symfony/finder": "^4.4|^5.0", + "symfony/http-foundation": "^5.2.1", + "symfony/http-kernel": "^5.2.1", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "^1.15", + "symfony/routing": "^5.2" + }, + "conflict": { + "doctrine/persistence": "<1.3", + "phpdocumentor/reflection-docblock": "<3.2.2", + "phpdocumentor/type-resolver": "<1.4.0", + "phpunit/phpunit": "<5.4.3", + "symfony/asset": "<5.1", + "symfony/browser-kit": "<4.4", + "symfony/console": "<5.2", + "symfony/dom-crawler": "<4.4", + "symfony/dotenv": "<5.1", + "symfony/form": "<5.2", + "symfony/http-client": "<4.4", + "symfony/lock": "<4.4", + "symfony/mailer": "<5.2", + "symfony/messenger": "<4.4", + "symfony/mime": "<4.4", + "symfony/property-access": "<5.2", + "symfony/property-info": "<4.4", + "symfony/serializer": "<5.2", + "symfony/stopwatch": "<4.4", + "symfony/translation": "<5.0", + "symfony/twig-bridge": "<4.4", + "symfony/twig-bundle": "<4.4", + "symfony/validator": "<5.2", + "symfony/web-profiler-bundle": "<4.4", + "symfony/workflow": "<5.2" + }, + "require-dev": { + "doctrine/annotations": "^1.10.4", + "doctrine/cache": "~1.0", + "doctrine/persistence": "^1.3|^2.0", + "paragonie/sodium_compat": "^1.8", + "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", + "symfony/asset": "^5.1", + "symfony/browser-kit": "^4.4|^5.0", + "symfony/console": "^5.2", + "symfony/css-selector": "^4.4|^5.0", + "symfony/dom-crawler": "^4.4|^5.0", + "symfony/dotenv": "^5.1", + "symfony/expression-language": "^4.4|^5.0", + "symfony/form": "^5.2", + "symfony/http-client": "^4.4|^5.0", + "symfony/lock": "^4.4|^5.0", + "symfony/mailer": "^5.2", + "symfony/messenger": "^5.2", + "symfony/mime": "^4.4|^5.0", + "symfony/polyfill-intl-icu": "~1.0", + "symfony/process": "^4.4|^5.0", + "symfony/property-info": "^4.4|^5.0", + "symfony/security-bundle": "^5.1", + "symfony/security-csrf": "^4.4|^5.0", + "symfony/security-http": "^4.4|^5.0", + "symfony/serializer": "^5.2", + "symfony/stopwatch": "^4.4|^5.0", + "symfony/string": "^5.0", + "symfony/translation": "^5.0", + "symfony/twig-bundle": "^4.4|^5.0", + "symfony/validator": "^5.2", + "symfony/web-link": "^4.4|^5.0", + "symfony/workflow": "^5.2", + "symfony/yaml": "^4.4|^5.0", + "twig/twig": "^2.10|^3.0" + }, + "suggest": { + "ext-apcu": "For best performance of the system caches", + "symfony/console": "For using the console commands", + "symfony/form": "For using forms", + "symfony/property-info": "For using the property_info service", + "symfony/serializer": "For using the serializer service", + "symfony/validator": "For using validation", + "symfony/web-link": "For using web links, features such as preloading, prefetching or prerendering", + "symfony/yaml": "For using the debug:config and lint:yaml commands" + }, + "type": "symfony-bundle", + "autoload": { + "psr-4": { + "Symfony\\Bundle\\FrameworkBundle\\": "" + }, + "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 a tight integration between Symfony components and the Symfony full-stack framework", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/framework-bundle/tree/v5.2.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": "2021-01-27T11:19:04+00:00" + }, + { + "name": "symfony/http-client", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-client.git", + "reference": "22cb1a7844fff206cc5186409776e78865405ea5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-client/zipball/22cb1a7844fff206cc5186409776e78865405ea5", + "reference": "22cb1a7844fff206cc5186409776e78865405ea5", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/log": "^1.0", + "symfony/http-client-contracts": "^2.2", + "symfony/polyfill-php73": "^1.11", + "symfony/polyfill-php80": "^1.15", + "symfony/service-contracts": "^1.0|^2" + }, + "provide": { + "php-http/async-client-implementation": "*", + "php-http/client-implementation": "*", + "psr/http-client-implementation": "1.0", + "symfony/http-client-implementation": "1.1" + }, + "require-dev": { + "amphp/amp": "^2.5", + "amphp/http-client": "^4.2.1", + "amphp/http-tunnel": "^1.0", + "amphp/socket": "^1.1", + "guzzlehttp/promises": "^1.4", + "nyholm/psr7": "^1.0", + "php-http/httplug": "^1.0|^2.0", + "psr/http-client": "^1.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/http-kernel": "^4.4.13|^5.1.5", + "symfony/process": "^4.4|^5.0", + "symfony/stopwatch": "^4.4|^5.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\HttpClient\\": "" + }, + "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": "Provides powerful methods to fetch HTTP resources synchronously or asynchronously", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/http-client/tree/v5.2.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": "2021-01-27T10:15:41+00:00" + }, + { + "name": "symfony/http-client-contracts", + "version": "v2.3.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-client-contracts.git", + "reference": "41db680a15018f9c1d4b23516059633ce280ca33" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/41db680a15018f9c1d4b23516059633ce280ca33", + "reference": "41db680a15018f9c1d4b23516059633ce280ca33", + "shasum": "" + }, + "require": { + "php": ">=7.2.5" + }, + "suggest": { + "symfony/http-client-implementation": "" + }, + "type": "library", + "extra": { + "branch-version": "2.3", + "branch-alias": { + "dev-main": "2.3-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\HttpClient\\": "" + } + }, + "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 HTTP clients", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/http-client-contracts/tree/v2.3.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": "2020-10-14T17:08:19+00:00" + }, + { + "name": "symfony/http-foundation", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-foundation.git", + "reference": "20c554c0f03f7cde5ce230ed248470cccbc34c36" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/20c554c0f03f7cde5ce230ed248470cccbc34c36", + "reference": "20c554c0f03f7cde5ce230ed248470cccbc34c36", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/polyfill-mbstring": "~1.1", + "symfony/polyfill-php80": "^1.15" + }, + "require-dev": { + "predis/predis": "~1.0", + "symfony/cache": "^4.4|^5.0", + "symfony/expression-language": "^4.4|^5.0", + "symfony/mime": "^4.4|^5.0" + }, + "suggest": { + "symfony/mime": "To use the file extension guesser" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\HttpFoundation\\": "" + }, + "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": "Defines an object-oriented layer for the HTTP specification", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/http-foundation/tree/v5.2.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": "2021-02-03T04:42:09+00:00" + }, + { + "name": "symfony/http-kernel", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-kernel.git", + "reference": "89bac04f29e7b0b52f9fa6a4288ca7a8f90a1a05" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/89bac04f29e7b0b52f9fa6a4288ca7a8f90a1a05", + "reference": "89bac04f29e7b0b52f9fa6a4288ca7a8f90a1a05", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/log": "~1.0", + "symfony/deprecation-contracts": "^2.1", + "symfony/error-handler": "^4.4|^5.0", + "symfony/event-dispatcher": "^5.0", + "symfony/http-client-contracts": "^1.1|^2", + "symfony/http-foundation": "^4.4|^5.0", + "symfony/polyfill-ctype": "^1.8", + "symfony/polyfill-php73": "^1.9", + "symfony/polyfill-php80": "^1.15" + }, + "conflict": { + "symfony/browser-kit": "<4.4", + "symfony/cache": "<5.0", + "symfony/config": "<5.0", + "symfony/console": "<4.4", + "symfony/dependency-injection": "<5.1.8", + "symfony/doctrine-bridge": "<5.0", + "symfony/form": "<5.0", + "symfony/http-client": "<5.0", + "symfony/mailer": "<5.0", + "symfony/messenger": "<5.0", + "symfony/translation": "<5.0", + "symfony/twig-bridge": "<5.0", + "symfony/validator": "<5.0", + "twig/twig": "<2.13" + }, + "provide": { + "psr/log-implementation": "1.0" + }, + "require-dev": { + "psr/cache": "~1.0", + "symfony/browser-kit": "^4.4|^5.0", + "symfony/config": "^5.0", + "symfony/console": "^4.4|^5.0", + "symfony/css-selector": "^4.4|^5.0", + "symfony/dependency-injection": "^5.1.8", + "symfony/dom-crawler": "^4.4|^5.0", + "symfony/expression-language": "^4.4|^5.0", + "symfony/finder": "^4.4|^5.0", + "symfony/process": "^4.4|^5.0", + "symfony/routing": "^4.4|^5.0", + "symfony/stopwatch": "^4.4|^5.0", + "symfony/translation": "^4.4|^5.0", + "symfony/translation-contracts": "^1.1|^2", + "twig/twig": "^2.13|^3.0.4" + }, + "suggest": { + "symfony/browser-kit": "", + "symfony/config": "", + "symfony/console": "", + "symfony/dependency-injection": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\HttpKernel\\": "" + }, + "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 a structured process for converting a Request into a Response", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/http-kernel/tree/v5.2.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": "2021-02-03T04:51:58+00:00" + }, + { + "name": "symfony/intl", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/intl.git", + "reference": "930f17689729cc47d2ce18be21ed403bcbeeb6a9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/intl/zipball/930f17689729cc47d2ce18be21ed403bcbeeb6a9", + "reference": "930f17689729cc47d2ce18be21ed403bcbeeb6a9", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-intl-icu": "~1.0", + "symfony/polyfill-php80": "^1.15" + }, + "require-dev": { + "symfony/filesystem": "^4.4|^5.0" + }, + "suggest": { + "ext-intl": "to use the component with locales other than \"en\"" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Intl\\": "" + }, + "classmap": [ + "Resources/stubs" + ], + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + }, + { + "name": "Eriksen Costa", + "email": "eriksen.costa@infranology.com.br" + }, + { + "name": "Igor Wiedler", + "email": "igor@wiedler.ch" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides a PHP replacement layer for the C intl extension that includes additional data from the ICU library", + "homepage": "https://symfony.com", + "keywords": [ + "i18n", + "icu", + "internationalization", + "intl", + "l10n", + "localization" + ], + "support": { + "source": "https://github.com/symfony/intl/tree/v5.2.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": "2021-01-27T10:01:46+00:00" + }, + { + "name": "symfony/mime", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/mime.git", + "reference": "7dee6a43493f39b51ff6c5bb2bd576fe40a76c86" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/mime/zipball/7dee6a43493f39b51ff6c5bb2bd576fe40a76c86", + "reference": "7dee6a43493f39b51ff6c5bb2bd576fe40a76c86", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/polyfill-intl-idn": "^1.10", + "symfony/polyfill-mbstring": "^1.0", + "symfony/polyfill-php80": "^1.15" + }, + "conflict": { + "phpdocumentor/reflection-docblock": "<3.2.2", + "phpdocumentor/type-resolver": "<1.4.0", + "symfony/mailer": "<4.4" + }, + "require-dev": { + "egulias/email-validator": "^2.1.10", + "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/property-access": "^4.4|^5.1", + "symfony/property-info": "^4.4|^5.1", + "symfony/serializer": "^5.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Mime\\": "" + }, + "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 manipulating MIME messages", + "homepage": "https://symfony.com", + "keywords": [ + "mime", + "mime-type" + ], + "support": { + "source": "https://github.com/symfony/mime/tree/v5.2.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": "2021-02-02T06:10:15+00:00" + }, + { + "name": "symfony/monolog-bridge", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/monolog-bridge.git", + "reference": "aca99c4135001224b917eed17cc846e8c0ba981c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/monolog-bridge/zipball/aca99c4135001224b917eed17cc846e8c0ba981c", + "reference": "aca99c4135001224b917eed17cc846e8c0ba981c", + "shasum": "" + }, + "require": { + "monolog/monolog": "^1.25.1|^2", + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/http-kernel": "^4.4|^5.0", + "symfony/service-contracts": "^1.1|^2" + }, + "conflict": { + "symfony/console": "<4.4", + "symfony/http-foundation": "<4.4" + }, + "require-dev": { + "symfony/console": "^4.4|^5.0", + "symfony/http-client": "^4.4|^5.0", + "symfony/mailer": "^4.4|^5.0", + "symfony/mime": "^4.4|^5.0", + "symfony/security-core": "^4.4|^5.0", + "symfony/var-dumper": "^4.4|^5.0" + }, + "suggest": { + "symfony/console": "For the possibility to show log messages in console commands depending on verbosity settings.", + "symfony/http-kernel": "For using the debugging handlers together with the response life cycle of the HTTP kernel.", + "symfony/var-dumper": "For using the debugging handlers like the console handler or the log server handler." + }, + "type": "symfony-bridge", + "autoload": { + "psr-4": { + "Symfony\\Bridge\\Monolog\\": "" + }, + "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 integration for Monolog with various Symfony components", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/monolog-bridge/tree/v5.2.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": "2021-01-27T11:24:50+00:00" + }, + { + "name": "symfony/monolog-bundle", + "version": "v3.6.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/monolog-bundle.git", + "reference": "e495f5c7e4e672ffef4357d4a4d85f010802f940" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/monolog-bundle/zipball/e495f5c7e4e672ffef4357d4a4d85f010802f940", + "reference": "e495f5c7e4e672ffef4357d4a4d85f010802f940", + "shasum": "" + }, + "require": { + "monolog/monolog": "~1.22 || ~2.0", + "php": ">=5.6", + "symfony/config": "~3.4 || ~4.0 || ^5.0", + "symfony/dependency-injection": "~3.4.10 || ^4.0.10 || ^5.0", + "symfony/http-kernel": "~3.4 || ~4.0 || ^5.0", + "symfony/monolog-bridge": "~3.4 || ~4.0 || ^5.0" + }, + "require-dev": { + "symfony/console": "~3.4 || ~4.0 || ^5.0", + "symfony/phpunit-bridge": "^4.4 || ^5.0", + "symfony/yaml": "~3.4 || ~4.0 || ^5.0" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Bundle\\MonologBundle\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "http://symfony.com/contributors" + } + ], + "description": "Symfony MonologBundle", + "homepage": "http://symfony.com", + "keywords": [ + "log", + "logging" + ], + "support": { + "issues": "https://github.com/symfony/monolog-bundle/issues", + "source": "https://github.com/symfony/monolog-bundle/tree/v3.6.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": "2020-10-06T15:12:11+00:00" + }, + { + "name": "symfony/notifier", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/notifier.git", + "reference": "bdb8702e91f19fc64d0c678f41fed144d0263657" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/notifier/zipball/bdb8702e91f19fc64d0c678f41fed144d0263657", + "reference": "bdb8702e91f19fc64d0c678f41fed144d0263657", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/log": "~1.0", + "symfony/polyfill-php80": "^1.15" + }, + "conflict": { + "symfony/firebase-notifier": "<5.2", + "symfony/free-mobile-notifier": "<5.2", + "symfony/http-kernel": "<4.4", + "symfony/mattermost-notifier": "<5.2", + "symfony/nexmo-notifier": "<5.2", + "symfony/ovh-cloud-notifier": "<5.2", + "symfony/rocket-chat-notifier": "<5.2", + "symfony/sinch-notifier": "<5.2", + "symfony/slack-notifier": "<5.2", + "symfony/telegram-notifier": "<5.2", + "symfony/twilio-notifier": "<5.2" + }, + "require-dev": { + "symfony/event-dispatcher-contracts": "^2", + "symfony/http-client-contracts": "^2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Notifier\\": "" + }, + "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": "Sends notifications via one or more channels (email, SMS, ...)", + "homepage": "https://symfony.com", + "keywords": [ + "notification", + "notifier" + ], + "support": { + "source": "https://github.com/symfony/notifier/tree/v5.2.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": "2021-01-14T15:42:36+00:00" + }, + { + "name": "symfony/options-resolver", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/options-resolver.git", + "reference": "5d0f633f9bbfcf7ec642a2b5037268e61b0a62ce" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/5d0f633f9bbfcf7ec642a2b5037268e61b0a62ce", + "reference": "5d0f633f9bbfcf7ec642a2b5037268e61b0a62ce", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/polyfill-php73": "~1.0", + "symfony/polyfill-php80": "^1.15" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\OptionsResolver\\": "" + }, + "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 an improved replacement for the array_replace PHP function", + "homepage": "https://symfony.com", + "keywords": [ + "config", + "configuration", + "options" + ], + "support": { + "source": "https://github.com/symfony/options-resolver/tree/v5.2.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": "2021-01-27T12:56:27+00:00" + }, + { + "name": "symfony/polyfill-intl-grapheme", + "version": "v1.22.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-grapheme.git", + "reference": "5601e09b69f26c1828b13b6bb87cb07cddba3170" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/5601e09b69f26c1828b13b6bb87cb07cddba3170", + "reference": "5601e09b69f26c1828b13b6bb87cb07cddba3170", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.22-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Intl\\Grapheme\\": "" + }, + "files": [ + "bootstrap.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": "Symfony polyfill for intl's grapheme_* functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "grapheme", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.22.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": "2021-01-22T09:19:47+00:00" + }, + { + "name": "symfony/polyfill-intl-icu", + "version": "v1.22.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-icu.git", + "reference": "af1842919c7e7364aaaa2798b29839e3ba168588" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/af1842919c7e7364aaaa2798b29839e3ba168588", + "reference": "af1842919c7e7364aaaa2798b29839e3ba168588", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "For best performance and support of other locales than \"en\"" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.22-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Icu\\": "" + }, + "classmap": [ + "Resources/stubs" + ], + "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": "Symfony polyfill for intl's ICU-related data and classes", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "icu", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.22.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": "2021-01-22T09:19:47+00:00" + }, + { + "name": "symfony/polyfill-intl-idn", + "version": "v1.22.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-idn.git", + "reference": "2d63434d922daf7da8dd863e7907e67ee3031483" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/2d63434d922daf7da8dd863e7907e67ee3031483", + "reference": "2d63434d922daf7da8dd863e7907e67ee3031483", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "symfony/polyfill-intl-normalizer": "^1.10", + "symfony/polyfill-php72": "^1.10" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.22-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Intl\\Idn\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Laurent Bassin", + "email": "laurent@bassin.info" + }, + { + "name": "Trevor Rowbotham", + "email": "trevor.rowbotham@pm.me" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "idn", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.22.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": "2021-01-22T09:19:47+00:00" + }, + { + "name": "symfony/polyfill-intl-normalizer", + "version": "v1.22.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "43a0283138253ed1d48d352ab6d0bdb3f809f248" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/43a0283138253ed1d48d352ab6d0bdb3f809f248", + "reference": "43a0283138253ed1d48d352ab6d0bdb3f809f248", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.22-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "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 intl's Normalizer class and related functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "intl", + "normalizer", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.22.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": "2021-01-22T09:19:47+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.22.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "5232de97ee3b75b0360528dae24e73db49566ab1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/5232de97ee3b75b0360528dae24e73db49566ab1", + "reference": "5232de97ee3b75b0360528dae24e73db49566ab1", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.22-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + }, + "files": [ + "bootstrap.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": "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.22.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": "2021-01-22T09:19:47+00:00" + }, + { + "name": "symfony/polyfill-php73", + "version": "v1.22.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php73.git", + "reference": "a678b42e92f86eca04b7fa4c0f6f19d097fb69e2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/a678b42e92f86eca04b7fa4c0f6f19d097fb69e2", + "reference": "a678b42e92f86eca04b7fa4c0f6f19d097fb69e2", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.22-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php73\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "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 backporting some PHP 7.3+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php73/tree/v1.22.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": "2021-01-07T16:49:33+00:00" + }, + { + "name": "symfony/polyfill-php80", + "version": "v1.22.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "dc3063ba22c2a1fd2f45ed856374d79114998f91" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/dc3063ba22c2a1fd2f45ed856374d79114998f91", + "reference": "dc3063ba22c2a1fd2f45ed856374d79114998f91", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.22-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php80\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ion Bazan", + "email": "ion.bazan@gmail.com" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php80/tree/v1.22.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": "2021-01-07T16:49:33+00:00" + }, + { + "name": "symfony/process", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/process.git", + "reference": "313a38f09c77fbcdc1d223e57d368cea76a2fd2f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/process/zipball/313a38f09c77fbcdc1d223e57d368cea76a2fd2f", + "reference": "313a38f09c77fbcdc1d223e57d368cea76a2fd2f", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-php80": "^1.15" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Process\\": "" + }, + "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": "Executes commands in sub-processes", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/process/tree/v5.2.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": "2021-01-27T10:15:41+00:00" + }, + { + "name": "symfony/property-access", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/property-access.git", + "reference": "3af8ed262bd3217512a13b023981fe68f36ad5f3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/property-access/zipball/3af8ed262bd3217512a13b023981fe68f36ad5f3", + "reference": "3af8ed262bd3217512a13b023981fe68f36ad5f3", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/polyfill-php80": "^1.15", + "symfony/property-info": "^5.2" + }, + "require-dev": { + "symfony/cache": "^4.4|^5.0" + }, + "suggest": { + "psr/cache-implementation": "To cache access methods." + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\PropertyAccess\\": "" + }, + "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 functions to read and write from/to an object or array using a simple string notation", + "homepage": "https://symfony.com", + "keywords": [ + "access", + "array", + "extraction", + "index", + "injection", + "object", + "property", + "property path", + "reflection" + ], + "support": { + "source": "https://github.com/symfony/property-access/tree/v5.2.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": "2021-01-27T10:15:41+00:00" + }, + { + "name": "symfony/property-info", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/property-info.git", + "reference": "4e4f368c3737b1c175d66f4fc0b99a5bcd161a77" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/property-info/zipball/4e4f368c3737b1c175d66f4fc0b99a5bcd161a77", + "reference": "4e4f368c3737b1c175d66f4fc0b99a5bcd161a77", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/polyfill-php80": "^1.15", + "symfony/string": "^5.1" + }, + "conflict": { + "phpdocumentor/reflection-docblock": "<3.2.2", + "phpdocumentor/type-resolver": "<1.4.0", + "symfony/dependency-injection": "<4.4" + }, + "require-dev": { + "doctrine/annotations": "^1.10.4", + "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", + "symfony/cache": "^4.4|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/serializer": "^4.4|^5.0" + }, + "suggest": { + "phpdocumentor/reflection-docblock": "To use the PHPDoc", + "psr/cache-implementation": "To cache results", + "symfony/doctrine-bridge": "To use Doctrine metadata", + "symfony/serializer": "To use Serializer metadata" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\PropertyInfo\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Kévin Dunglas", + "email": "dunglas@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Extracts information about PHP class' properties using metadata of popular sources", + "homepage": "https://symfony.com", + "keywords": [ + "doctrine", + "phpdoc", + "property", + "symfony", + "type", + "validator" + ], + "support": { + "source": "https://github.com/symfony/property-info/tree/v5.2.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": "2021-01-27T10:15:41+00:00" + }, + { + "name": "symfony/proxy-manager-bridge", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/proxy-manager-bridge.git", + "reference": "fd6bb40190b1719abbe831be09adf38e0744d5f5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/proxy-manager-bridge/zipball/fd6bb40190b1719abbe831be09adf38e0744d5f5", + "reference": "fd6bb40190b1719abbe831be09adf38e0744d5f5", + "shasum": "" + }, + "require": { + "composer/package-versions-deprecated": "^1.8", + "friendsofphp/proxy-manager-lts": "^1.0.2", + "php": ">=7.2.5", + "symfony/dependency-injection": "^5.0" + }, + "require-dev": { + "symfony/config": "^4.4|^5.0" + }, + "type": "symfony-bridge", + "autoload": { + "psr-4": { + "Symfony\\Bridge\\ProxyManager\\": "" + }, + "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 integration for ProxyManager with various Symfony components", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/proxy-manager-bridge/tree/v5.2.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": "2021-01-27T10:01:46+00:00" + }, + { + "name": "symfony/routing", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/routing.git", + "reference": "348b5917e56546c6d96adbf21d7f92c9ef563661" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/routing/zipball/348b5917e56546c6d96adbf21d7f92c9ef563661", + "reference": "348b5917e56546c6d96adbf21d7f92c9ef563661", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/polyfill-php80": "^1.15" + }, + "conflict": { + "symfony/config": "<5.0", + "symfony/dependency-injection": "<4.4", + "symfony/yaml": "<4.4" + }, + "require-dev": { + "doctrine/annotations": "^1.10.4", + "psr/log": "~1.0", + "symfony/config": "^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/expression-language": "^4.4|^5.0", + "symfony/http-foundation": "^4.4|^5.0", + "symfony/yaml": "^4.4|^5.0" + }, + "suggest": { + "doctrine/annotations": "For using the annotation loader", + "symfony/config": "For using the all-in-one router or any loader", + "symfony/expression-language": "For using expression matching", + "symfony/http-foundation": "For using a Symfony Request object", + "symfony/yaml": "For using the YAML loader" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Routing\\": "" + }, + "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": "Maps an HTTP request to a set of configuration variables", + "homepage": "https://symfony.com", + "keywords": [ + "router", + "routing", + "uri", + "url" + ], + "support": { + "source": "https://github.com/symfony/routing/tree/v5.2.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": "2021-01-27T10:15:41+00:00" + }, + { + "name": "symfony/security-bundle", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/security-bundle.git", + "reference": "51854aa28585d196e60519271338aecad86f95f5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/security-bundle/zipball/51854aa28585d196e60519271338aecad86f95f5", + "reference": "51854aa28585d196e60519271338aecad86f95f5", + "shasum": "" + }, + "require": { + "ext-xml": "*", + "php": ">=7.2.5", + "symfony/config": "^4.4|^5.0", + "symfony/dependency-injection": "^5.2", + "symfony/deprecation-contracts": "^2.1", + "symfony/event-dispatcher": "^5.1", + "symfony/http-kernel": "^5.0", + "symfony/polyfill-php80": "^1.15", + "symfony/security-core": "^5.2", + "symfony/security-csrf": "^4.4|^5.0", + "symfony/security-guard": "^5.2", + "symfony/security-http": "^5.2" + }, + "conflict": { + "symfony/browser-kit": "<4.4", + "symfony/console": "<4.4", + "symfony/framework-bundle": "<4.4", + "symfony/ldap": "<4.4", + "symfony/twig-bundle": "<4.4" + }, + "require-dev": { + "doctrine/doctrine-bundle": "^2.0", + "symfony/asset": "^4.4|^5.0", + "symfony/browser-kit": "^4.4|^5.0", + "symfony/console": "^4.4|^5.0", + "symfony/css-selector": "^4.4|^5.0", + "symfony/dom-crawler": "^4.4|^5.0", + "symfony/expression-language": "^4.4|^5.0", + "symfony/form": "^4.4|^5.0", + "symfony/framework-bundle": "^5.2", + "symfony/process": "^4.4|^5.0", + "symfony/rate-limiter": "^5.2", + "symfony/serializer": "^4.4|^5.0", + "symfony/translation": "^4.4|^5.0", + "symfony/twig-bridge": "^4.4|^5.0", + "symfony/twig-bundle": "^4.4|^5.0", + "symfony/validator": "^4.4|^5.0", + "symfony/yaml": "^4.4|^5.0", + "twig/twig": "^2.13|^3.0.4" + }, + "type": "symfony-bundle", + "autoload": { + "psr-4": { + "Symfony\\Bundle\\SecurityBundle\\": "" + }, + "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 a tight integration of the Security component into the Symfony full-stack framework", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/security-bundle/tree/v5.2.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": "2021-01-27T10:15:41+00:00" + }, + { + "name": "symfony/security-core", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/security-core.git", + "reference": "a468c863d65e2c3768b897b8ddf7547abb4512f8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/security-core/zipball/a468c863d65e2c3768b897b8ddf7547abb4512f8", + "reference": "a468c863d65e2c3768b897b8ddf7547abb4512f8", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/event-dispatcher-contracts": "^1.1|^2", + "symfony/polyfill-php80": "^1.15", + "symfony/service-contracts": "^1.1.6|^2" + }, + "conflict": { + "symfony/event-dispatcher": "<4.4", + "symfony/ldap": "<4.4", + "symfony/security-guard": "<4.4", + "symfony/validator": "<5.2" + }, + "require-dev": { + "psr/container": "^1.0", + "psr/log": "~1.0", + "symfony/event-dispatcher": "^4.4|^5.0", + "symfony/expression-language": "^4.4|^5.0", + "symfony/http-foundation": "^4.4|^5.0", + "symfony/ldap": "^4.4|^5.0", + "symfony/translation": "^4.4|^5.0", + "symfony/validator": "^5.2" + }, + "suggest": { + "psr/container-implementation": "To instantiate the Security class", + "symfony/event-dispatcher": "", + "symfony/expression-language": "For using the expression voter", + "symfony/http-foundation": "", + "symfony/ldap": "For using LDAP integration", + "symfony/validator": "For using the user password constraint" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Security\\Core\\": "" + }, + "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": "Symfony Security Component - Core Library", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/security-core/tree/v5.2.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": "2021-01-28T22:06:19+00:00" + }, + { + "name": "symfony/security-csrf", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/security-csrf.git", + "reference": "e22ef49d5d3773014942f3dfe301b168a4a833dc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/security-csrf/zipball/e22ef49d5d3773014942f3dfe301b168a4a833dc", + "reference": "e22ef49d5d3773014942f3dfe301b168a4a833dc", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/security-core": "^4.4|^5.0" + }, + "conflict": { + "symfony/http-foundation": "<4.4" + }, + "require-dev": { + "symfony/http-foundation": "^4.4|^5.0" + }, + "suggest": { + "symfony/http-foundation": "For using the class SessionTokenStorage." + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Security\\Csrf\\": "" + }, + "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": "Symfony Security Component - CSRF Library", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/security-csrf/tree/v5.2.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": "2021-01-27T10:01:46+00:00" + }, + { + "name": "symfony/security-guard", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/security-guard.git", + "reference": "a191352047f2ea0d927c62e1a2f261cf906d1bde" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/security-guard/zipball/a191352047f2ea0d927c62e1a2f261cf906d1bde", + "reference": "a191352047f2ea0d927c62e1a2f261cf906d1bde", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-php80": "^1.15", + "symfony/security-core": "^5.0", + "symfony/security-http": "^4.4.1|^5.0.1" + }, + "require-dev": { + "psr/log": "~1.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Security\\Guard\\": "" + }, + "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": "Symfony Security Component - Guard", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/security-guard/tree/v5.2.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": "2021-01-27T10:15:41+00:00" + }, + { + "name": "symfony/security-http", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/security-http.git", + "reference": "122c8f52fd080fcc582ca475baf2b8e63d62e980" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/security-http/zipball/122c8f52fd080fcc582ca475baf2b8e63d62e980", + "reference": "122c8f52fd080fcc582ca475baf2b8e63d62e980", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/http-foundation": "^5.2", + "symfony/http-kernel": "^5.2", + "symfony/polyfill-php80": "^1.15", + "symfony/property-access": "^4.4|^5.0", + "symfony/security-core": "^5.2" + }, + "conflict": { + "symfony/event-dispatcher": "<4.3", + "symfony/security-csrf": "<4.4" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/cache": "^4.4|^5.0", + "symfony/rate-limiter": "^5.2", + "symfony/routing": "^4.4|^5.0", + "symfony/security-csrf": "^4.4|^5.0", + "symfony/translation": "^4.4|^5.0" + }, + "suggest": { + "symfony/routing": "For using the HttpUtils class to create sub-requests, redirect the user, and match URLs", + "symfony/security-csrf": "For using tokens to protect authentication/logout attempts" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Security\\Http\\": "" + }, + "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": "Symfony Security Component - HTTP Integration", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/security-http/tree/v5.2.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": "2021-01-28T22:06:19+00:00" + }, + { + "name": "symfony/serializer", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/serializer.git", + "reference": "70c5aa59ab0642033391a5591c9771ee417e7cef" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/serializer/zipball/70c5aa59ab0642033391a5591c9771ee417e7cef", + "reference": "70c5aa59ab0642033391a5591c9771ee417e7cef", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-php80": "^1.15" + }, + "conflict": { + "phpdocumentor/reflection-docblock": "<3.2.2", + "phpdocumentor/type-resolver": "<1.4.0", + "symfony/dependency-injection": "<4.4", + "symfony/property-access": "<4.4", + "symfony/property-info": "<4.4", + "symfony/yaml": "<4.4" + }, + "require-dev": { + "doctrine/annotations": "^1.10.4", + "doctrine/cache": "~1.0", + "phpdocumentor/reflection-docblock": "^3.2|^4.0|^5.0", + "symfony/cache": "^4.4|^5.0", + "symfony/config": "^4.4|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/error-handler": "^4.4|^5.0", + "symfony/filesystem": "^4.4|^5.0", + "symfony/form": "^4.4|^5.0", + "symfony/http-foundation": "^4.4|^5.0", + "symfony/http-kernel": "^4.4|^5.0", + "symfony/mime": "^4.4|^5.0", + "symfony/property-access": "^4.4.9|^5.0.9", + "symfony/property-info": "^4.4|^5.0", + "symfony/uid": "^5.1", + "symfony/validator": "^4.4|^5.0", + "symfony/var-exporter": "^4.4|^5.0", + "symfony/yaml": "^4.4|^5.0" + }, + "suggest": { + "doctrine/annotations": "For using the annotation mapping. You will also need doctrine/cache.", + "doctrine/cache": "For using the default cached annotation reader and metadata cache.", + "psr/cache-implementation": "For using the metadata cache.", + "symfony/config": "For using the XML mapping loader.", + "symfony/mime": "For using a MIME type guesser within the DataUriNormalizer.", + "symfony/property-access": "For using the ObjectNormalizer.", + "symfony/property-info": "To deserialize relations.", + "symfony/var-exporter": "For using the metadata compiler.", + "symfony/yaml": "For using the default YAML mapping loader." + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Serializer\\": "" + }, + "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": "Handles serializing and deserializing data structures, including object graphs, into array structures or other formats like XML and JSON.", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/serializer/tree/v5.2.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": "2021-02-03T04:42:09+00:00" + }, + { + "name": "symfony/service-contracts", + "version": "v2.2.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/service-contracts.git", + "reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/d15da7ba4957ffb8f1747218be9e1a121fd298a1", + "reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/container": "^1.0" + }, + "suggest": { + "symfony/service-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.2-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Service\\": "" + } + }, + "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/master" + }, + "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": "2020-09-07T11:33:47+00:00" + }, + { + "name": "symfony/stopwatch", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/stopwatch.git", + "reference": "b12274acfab9d9850c52583d136a24398cdf1a0c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/stopwatch/zipball/b12274acfab9d9850c52583d136a24398cdf1a0c", + "reference": "b12274acfab9d9850c52583d136a24398cdf1a0c", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/service-contracts": "^1.0|^2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Stopwatch\\": "" + }, + "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 a way to profile code", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/stopwatch/tree/v5.2.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": "2021-01-27T10:15:41+00:00" + }, + { + "name": "symfony/string", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/string.git", + "reference": "c95468897f408dd0aca2ff582074423dd0455122" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/string/zipball/c95468897f408dd0aca2ff582074423dd0455122", + "reference": "c95468897f408dd0aca2ff582074423dd0455122", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-intl-grapheme": "~1.0", + "symfony/polyfill-intl-normalizer": "~1.0", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "~1.15" + }, + "require-dev": { + "symfony/error-handler": "^4.4|^5.0", + "symfony/http-client": "^4.4|^5.0", + "symfony/translation-contracts": "^1.1|^2", + "symfony/var-exporter": "^4.4|^5.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\String\\": "" + }, + "files": [ + "Resources/functions.php" + ], + "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": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", + "homepage": "https://symfony.com", + "keywords": [ + "grapheme", + "i18n", + "string", + "unicode", + "utf-8", + "utf8" + ], + "support": { + "source": "https://github.com/symfony/string/tree/v5.2.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": "2021-01-25T15:14:59+00:00" + }, + { + "name": "symfony/translation-contracts", + "version": "v2.3.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation-contracts.git", + "reference": "e2eaa60b558f26a4b0354e1bbb25636efaaad105" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/e2eaa60b558f26a4b0354e1bbb25636efaaad105", + "reference": "e2eaa60b558f26a4b0354e1bbb25636efaaad105", + "shasum": "" + }, + "require": { + "php": ">=7.2.5" + }, + "suggest": { + "symfony/translation-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.3-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Translation\\": "" + } + }, + "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 translation", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/translation-contracts/tree/v2.3.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": "2020-09-28T13:05:58+00:00" + }, + { + "name": "symfony/twig-bridge", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/twig-bridge.git", + "reference": "3e8a56f4a8ab4db819f5ec726afad29d470b452d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/3e8a56f4a8ab4db819f5ec726afad29d470b452d", + "reference": "3e8a56f4a8ab4db819f5ec726afad29d470b452d", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-php80": "^1.15", + "symfony/translation-contracts": "^1.1|^2", + "twig/twig": "^2.13|^3.0.4" + }, + "conflict": { + "phpdocumentor/reflection-docblock": "<3.2.2", + "phpdocumentor/type-resolver": "<1.4.0", + "symfony/console": "<4.4", + "symfony/form": "<5.1", + "symfony/http-foundation": "<4.4", + "symfony/http-kernel": "<4.4", + "symfony/translation": "<5.2", + "symfony/workflow": "<5.2" + }, + "require-dev": { + "egulias/email-validator": "^2.1.10", + "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", + "symfony/asset": "^4.4|^5.0", + "symfony/console": "^4.4|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/expression-language": "^4.4|^5.0", + "symfony/finder": "^4.4|^5.0", + "symfony/form": "^5.1.9", + "symfony/http-foundation": "^4.4|^5.0", + "symfony/http-kernel": "^4.4|^5.0", + "symfony/mime": "^5.2", + "symfony/polyfill-intl-icu": "~1.0", + "symfony/property-info": "^4.4|^5.1", + "symfony/routing": "^4.4|^5.0", + "symfony/security-acl": "^2.8|^3.0", + "symfony/security-core": "^4.4|^5.0", + "symfony/security-csrf": "^4.4|^5.0", + "symfony/security-http": "^4.4|^5.0", + "symfony/serializer": "^5.2", + "symfony/stopwatch": "^4.4|^5.0", + "symfony/translation": "^5.2", + "symfony/web-link": "^4.4|^5.0", + "symfony/workflow": "^5.2", + "symfony/yaml": "^4.4|^5.0", + "twig/cssinliner-extra": "^2.12", + "twig/inky-extra": "^2.12", + "twig/markdown-extra": "^2.12" + }, + "suggest": { + "symfony/asset": "For using the AssetExtension", + "symfony/expression-language": "For using the ExpressionExtension", + "symfony/finder": "", + "symfony/form": "For using the FormExtension", + "symfony/http-kernel": "For using the HttpKernelExtension", + "symfony/routing": "For using the RoutingExtension", + "symfony/security-core": "For using the SecurityExtension", + "symfony/security-csrf": "For using the CsrfExtension", + "symfony/security-http": "For using the LogoutUrlExtension", + "symfony/stopwatch": "For using the StopwatchExtension", + "symfony/translation": "For using the TranslationExtension", + "symfony/var-dumper": "For using the DumpExtension", + "symfony/web-link": "For using the WebLinkExtension", + "symfony/yaml": "For using the YamlExtension" + }, + "type": "symfony-bridge", + "autoload": { + "psr-4": { + "Symfony\\Bridge\\Twig\\": "" + }, + "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 integration for Twig with various Symfony components", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/twig-bridge/tree/v5.2.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": "2021-02-03T04:42:09+00:00" + }, + { + "name": "symfony/twig-bundle", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/twig-bundle.git", + "reference": "5ebbb5f0e8bfaa0b4b37cb25ff97f83b18caf221" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/twig-bundle/zipball/5ebbb5f0e8bfaa0b4b37cb25ff97f83b18caf221", + "reference": "5ebbb5f0e8bfaa0b4b37cb25ff97f83b18caf221", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/config": "^4.4|^5.0", + "symfony/http-foundation": "^4.4|^5.0", + "symfony/http-kernel": "^5.0", + "symfony/polyfill-ctype": "~1.8", + "symfony/twig-bridge": "^5.0", + "twig/twig": "^2.13|^3.0.4" + }, + "conflict": { + "symfony/dependency-injection": "<5.2", + "symfony/framework-bundle": "<5.0", + "symfony/translation": "<5.0" + }, + "require-dev": { + "doctrine/annotations": "^1.10.4", + "doctrine/cache": "~1.0", + "symfony/asset": "^4.4|^5.0", + "symfony/dependency-injection": "^5.2", + "symfony/expression-language": "^4.4|^5.0", + "symfony/finder": "^4.4|^5.0", + "symfony/form": "^4.4|^5.0", + "symfony/framework-bundle": "^5.0", + "symfony/routing": "^4.4|^5.0", + "symfony/stopwatch": "^4.4|^5.0", + "symfony/translation": "^5.0", + "symfony/web-link": "^4.4|^5.0", + "symfony/yaml": "^4.4|^5.0" + }, + "type": "symfony-bundle", + "autoload": { + "psr-4": { + "Symfony\\Bundle\\TwigBundle\\": "" + }, + "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 a tight integration of Twig into the Symfony full-stack framework", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/twig-bundle/tree/v5.2.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": "2021-01-27T10:15:41+00:00" + }, + { + "name": "symfony/validator", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/validator.git", + "reference": "d83d2a9f060ce42636feef6af6facc39793354cf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/validator/zipball/d83d2a9f060ce42636feef6af6facc39793354cf", + "reference": "d83d2a9f060ce42636feef6af6facc39793354cf", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php73": "~1.0", + "symfony/polyfill-php80": "^1.15", + "symfony/translation-contracts": "^1.1|^2" + }, + "conflict": { + "doctrine/lexer": "<1.0.2", + "phpunit/phpunit": "<5.4.3", + "symfony/dependency-injection": "<4.4", + "symfony/expression-language": "<5.1", + "symfony/http-kernel": "<4.4", + "symfony/intl": "<4.4", + "symfony/translation": "<4.4", + "symfony/yaml": "<4.4" + }, + "require-dev": { + "doctrine/annotations": "^1.10.4", + "doctrine/cache": "~1.0", + "egulias/email-validator": "^2.1.10", + "symfony/cache": "^4.4|^5.0", + "symfony/config": "^4.4|^5.0", + "symfony/console": "^4.4|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/expression-language": "^5.1", + "symfony/finder": "^4.4|^5.0", + "symfony/http-client": "^4.4|^5.0", + "symfony/http-foundation": "^4.4|^5.0", + "symfony/http-kernel": "^4.4|^5.0", + "symfony/intl": "^4.4|^5.0", + "symfony/mime": "^4.4|^5.0", + "symfony/property-access": "^4.4|^5.0", + "symfony/property-info": "^4.4|^5.0", + "symfony/translation": "^4.4|^5.0", + "symfony/yaml": "^4.4|^5.0" + }, + "suggest": { + "doctrine/annotations": "For using the annotation mapping. You will also need doctrine/cache.", + "doctrine/cache": "For using the default cached annotation reader.", + "egulias/email-validator": "Strict (RFC compliant) email validation", + "psr/cache-implementation": "For using the mapping cache.", + "symfony/config": "", + "symfony/expression-language": "For using the Expression validator and the ExpressionLanguageSyntax constraints", + "symfony/http-foundation": "", + "symfony/intl": "", + "symfony/property-access": "For accessing properties within comparison constraints", + "symfony/property-info": "To automatically add NotNull and Type constraints", + "symfony/translation": "For translating validation errors.", + "symfony/yaml": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Validator\\": "" + }, + "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 tools to validate values", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/validator/tree/v5.2.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": "2021-01-28T22:06:19+00:00" + }, + { + "name": "symfony/var-dumper", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/var-dumper.git", + "reference": "72ca213014a92223a5d18651ce79ef441c12b694" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/72ca213014a92223a5d18651ce79ef441c12b694", + "reference": "72ca213014a92223a5d18651ce79ef441c12b694", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "^1.15" + }, + "conflict": { + "phpunit/phpunit": "<5.4.3", + "symfony/console": "<4.4" + }, + "require-dev": { + "ext-iconv": "*", + "symfony/console": "^4.4|^5.0", + "symfony/process": "^4.4|^5.0", + "twig/twig": "^2.13|^3.0.4" + }, + "suggest": { + "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).", + "ext-intl": "To show region name in time zone dump", + "symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script" + }, + "bin": [ + "Resources/bin/var-dump-server" + ], + "type": "library", + "autoload": { + "files": [ + "Resources/functions/dump.php" + ], + "psr-4": { + "Symfony\\Component\\VarDumper\\": "" + }, + "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": "Provides mechanisms for walking through any arbitrary PHP variable", + "homepage": "https://symfony.com", + "keywords": [ + "debug", + "dump" + ], + "support": { + "source": "https://github.com/symfony/var-dumper/tree/v5.2.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": "2021-01-27T10:15:41+00:00" + }, + { + "name": "symfony/var-exporter", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/var-exporter.git", + "reference": "5aed4875ab514c8cb9b6ff4772baa25fa4c10307" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/5aed4875ab514c8cb9b6ff4772baa25fa4c10307", + "reference": "5aed4875ab514c8cb9b6ff4772baa25fa4c10307", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-php80": "^1.15" + }, + "require-dev": { + "symfony/var-dumper": "^4.4.9|^5.0.9" + }, + "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", + "serialize" + ], + "support": { + "source": "https://github.com/symfony/var-exporter/tree/v5.2.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": "2021-01-27T10:01:46+00:00" + }, + { + "name": "symfony/web-link", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/web-link.git", + "reference": "28e6bd9028740602c158f5c6ac8d5e2a2692812e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/web-link/zipball/28e6bd9028740602c158f5c6ac8d5e2a2692812e", + "reference": "28e6bd9028740602c158f5c6ac8d5e2a2692812e", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/link": "^1.0" + }, + "conflict": { + "symfony/http-kernel": "<4.4" + }, + "provide": { + "psr/link-implementation": "1.0" + }, + "require-dev": { + "symfony/http-foundation": "^4.4|^5.0", + "symfony/http-kernel": "^4.4|^5.0" + }, + "suggest": { + "symfony/http-kernel": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\WebLink\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Kévin Dunglas", + "email": "dunglas@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Manages links between resources", + "homepage": "https://symfony.com", + "keywords": [ + "dns-prefetch", + "http", + "http2", + "link", + "performance", + "prefetch", + "preload", + "prerender", + "psr13", + "push" + ], + "support": { + "source": "https://github.com/symfony/web-link/tree/v5.2.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": "2021-01-10T16:29:19+00:00" + }, + { + "name": "symfony/yaml", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/yaml.git", + "reference": "338cddc6d74929f6adf19ca5682ac4b8e109cdb0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/yaml/zipball/338cddc6d74929f6adf19ca5682ac4b8e109cdb0", + "reference": "338cddc6d74929f6adf19ca5682ac4b8e109cdb0", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/polyfill-ctype": "~1.8" + }, + "conflict": { + "symfony/console": "<4.4" + }, + "require-dev": { + "symfony/console": "^4.4|^5.0" + }, + "suggest": { + "symfony/console": "For validating YAML files using the lint command" + }, + "bin": [ + "Resources/bin/yaml-lint" + ], + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Yaml\\": "" + }, + "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": "Loads and dumps YAML files", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/yaml/tree/v5.2.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": "2021-02-03T04:42:09+00:00" + }, + { + "name": "twig/extra-bundle", + "version": "v3.3.0", + "source": { + "type": "git", + "url": "https://github.com/twigphp/twig-extra-bundle.git", + "reference": "e2d27a86c3f47859eb07808fa7c8679d30fcbdde" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/twigphp/twig-extra-bundle/zipball/e2d27a86c3f47859eb07808fa7c8679d30fcbdde", + "reference": "e2d27a86c3f47859eb07808fa7c8679d30fcbdde", + "shasum": "" + }, + "require": { + "php": "^7.1.3|^8.0", + "symfony/framework-bundle": "^4.3|^5.0", + "symfony/twig-bundle": "^4.3|^5.0", + "twig/twig": "^2.4|^3.0" + }, + "require-dev": { + "symfony/phpunit-bridge": "^4.4.9|^5.0.9", + "twig/cache-extra": "^3.0", + "twig/cssinliner-extra": "^2.12|^3.0", + "twig/html-extra": "^2.12|^3.0", + "twig/inky-extra": "^2.12|^3.0", + "twig/intl-extra": "^2.12|^3.0", + "twig/markdown-extra": "^2.12|^3.0", + "twig/string-extra": "^2.12|^3.0" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "3.2-dev" + } + }, + "autoload": { + "psr-4": { + "Twig\\Extra\\TwigExtraBundle\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com", + "homepage": "http://fabien.potencier.org", + "role": "Lead Developer" + } + ], + "description": "A Symfony bundle for extra Twig extensions", + "homepage": "https://twig.symfony.com", + "keywords": [ + "bundle", + "extra", + "twig" + ], + "support": { + "source": "https://github.com/twigphp/twig-extra-bundle/tree/v3.3.0" + }, + "funding": [ + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/twig/twig", + "type": "tidelift" + } + ], + "time": "2021-02-06T21:13:17+00:00" + }, + { + "name": "twig/twig", + "version": "v3.3.0", + "source": { + "type": "git", + "url": "https://github.com/twigphp/Twig.git", + "reference": "1f3b7e2c06cc05d42936a8ad508ff1db7975cdc5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/1f3b7e2c06cc05d42936a8ad508ff1db7975cdc5", + "reference": "1f3b7e2c06cc05d42936a8ad508ff1db7975cdc5", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-ctype": "^1.8", + "symfony/polyfill-mbstring": "^1.3" + }, + "require-dev": { + "psr/container": "^1.0", + "symfony/phpunit-bridge": "^4.4.9|^5.0.9" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.3-dev" + } + }, + "autoload": { + "psr-4": { + "Twig\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com", + "homepage": "http://fabien.potencier.org", + "role": "Lead Developer" + }, + { + "name": "Twig Team", + "role": "Contributors" + }, + { + "name": "Armin Ronacher", + "email": "armin.ronacher@active-4.com", + "role": "Project Founder" + } + ], + "description": "Twig, the flexible, fast, and secure template language for PHP", + "homepage": "https://twig.symfony.com", + "keywords": [ + "templating" + ], + "support": { + "issues": "https://github.com/twigphp/Twig/issues", + "source": "https://github.com/twigphp/Twig/tree/v3.3.0" + }, + "funding": [ + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/twig/twig", + "type": "tidelift" + } + ], + "time": "2021-02-08T09:54:36+00:00" + }, + { + "name": "webmozart/assert", + "version": "1.9.1", + "source": { + "type": "git", + "url": "https://github.com/webmozarts/assert.git", + "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozarts/assert/zipball/bafc69caeb4d49c39fd0779086c03a3738cbb389", + "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389", + "shasum": "" + }, + "require": { + "php": "^5.3.3 || ^7.0 || ^8.0", + "symfony/polyfill-ctype": "^1.8" + }, + "conflict": { + "phpstan/phpstan": "<0.12.20", + "vimeo/psalm": "<3.9.1" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.36 || ^7.5.13" + }, + "type": "library", + "autoload": { + "psr-4": { + "Webmozart\\Assert\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Assertions to validate method input/output with nice error messages.", + "keywords": [ + "assert", + "check", + "validate" + ], + "support": { + "issues": "https://github.com/webmozarts/assert/issues", + "source": "https://github.com/webmozarts/assert/tree/1.9.1" + }, + "time": "2020-07-08T17:02:28+00:00" + } + ], + "packages-dev": [ + { + "name": "nikic/php-parser", + "version": "v4.10.4", + "source": { + "type": "git", + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "c6d052fc58cb876152f89f532b95a8d7907e7f0e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/c6d052fc58cb876152f89f532b95a8d7907e7f0e", + "reference": "c6d052fc58cb876152f89f532b95a8d7907e7f0e", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": ">=7.0" + }, + "require-dev": { + "ircmaxell/php-yacc": "^0.0.7", + "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0" + }, + "bin": [ + "bin/php-parse" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.9-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/v4.10.4" + }, + "time": "2020-12-20T10:01:03+00:00" + }, + { + "name": "symfony/browser-kit", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/browser-kit.git", + "reference": "b03b2057ed53ee4eab2e8f372084d7722b7b8ffd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/browser-kit/zipball/b03b2057ed53ee4eab2e8f372084d7722b7b8ffd", + "reference": "b03b2057ed53ee4eab2e8f372084d7722b7b8ffd", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/dom-crawler": "^4.4|^5.0" + }, + "require-dev": { + "symfony/css-selector": "^4.4|^5.0", + "symfony/http-client": "^4.4|^5.0", + "symfony/mime": "^4.4|^5.0", + "symfony/process": "^4.4|^5.0" + }, + "suggest": { + "symfony/process": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\BrowserKit\\": "" + }, + "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": "Simulates the behavior of a web browser, allowing you to make requests, click on links and submit forms programmatically", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/browser-kit/tree/v5.2.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": "2021-01-27T12:56:27+00:00" + }, + { + "name": "symfony/css-selector", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/css-selector.git", + "reference": "f65f217b3314504a1ec99c2d6ef69016bb13490f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/f65f217b3314504a1ec99c2d6ef69016bb13490f", + "reference": "f65f217b3314504a1ec99c2d6ef69016bb13490f", + "shasum": "" + }, + "require": { + "php": ">=7.2.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\CssSelector\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Jean-François Simon", + "email": "jeanfrancois.simon@sensiolabs.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Converts CSS selectors to XPath expressions", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/css-selector/tree/v5.2.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": "2021-01-27T10:01:46+00:00" + }, + { + "name": "symfony/debug-bundle", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/debug-bundle.git", + "reference": "ec21bd26d24dab02ac40e4bec362b3f4032486e8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/debug-bundle/zipball/ec21bd26d24dab02ac40e4bec362b3f4032486e8", + "reference": "ec21bd26d24dab02ac40e4bec362b3f4032486e8", + "shasum": "" + }, + "require": { + "ext-xml": "*", + "php": ">=7.2.5", + "symfony/http-kernel": "^4.4|^5.0", + "symfony/twig-bridge": "^4.4|^5.0", + "symfony/var-dumper": "^4.4|^5.0" + }, + "conflict": { + "symfony/config": "<4.4", + "symfony/dependency-injection": "<5.2" + }, + "require-dev": { + "symfony/config": "^4.4|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/web-profiler-bundle": "^4.4|^5.0" + }, + "suggest": { + "symfony/config": "For service container configuration", + "symfony/dependency-injection": "For using as a service from the container" + }, + "type": "symfony-bundle", + "autoload": { + "psr-4": { + "Symfony\\Bundle\\DebugBundle\\": "" + }, + "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 a tight integration of the Symfony Debug component into the Symfony full-stack framework", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/debug-bundle/tree/v5.2.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": "2021-01-10T16:30:10+00:00" + }, + { + "name": "symfony/dom-crawler", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/dom-crawler.git", + "reference": "5d89ceb53ec65e1973a555072fac8ed5ecad3384" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/5d89ceb53ec65e1973a555072fac8ed5ecad3384", + "reference": "5d89ceb53ec65e1973a555072fac8ed5ecad3384", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "^1.15" + }, + "conflict": { + "masterminds/html5": "<2.6" + }, + "require-dev": { + "masterminds/html5": "^2.6", + "symfony/css-selector": "^4.4|^5.0" + }, + "suggest": { + "symfony/css-selector": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\DomCrawler\\": "" + }, + "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": "Eases DOM navigation for HTML and XML documents", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/dom-crawler/tree/v5.2.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": "2021-01-27T10:01:46+00:00" + }, + { + "name": "symfony/maker-bundle", + "version": "v1.29.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/maker-bundle.git", + "reference": "313b5669a5370bf36cd34fa8f5b5bbbfa5fb8aa8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/maker-bundle/zipball/313b5669a5370bf36cd34fa8f5b5bbbfa5fb8aa8", + "reference": "313b5669a5370bf36cd34fa8f5b5bbbfa5fb8aa8", + "shasum": "" + }, + "require": { + "doctrine/inflector": "^1.2|^2.0", + "nikic/php-parser": "^4.0", + "php": ">=7.1.3", + "symfony/config": "^3.4|^4.0|^5.0", + "symfony/console": "^3.4|^4.0|^5.0", + "symfony/dependency-injection": "^3.4|^4.0|^5.0", + "symfony/deprecation-contracts": "^2.2", + "symfony/filesystem": "^3.4|^4.0|^5.0", + "symfony/finder": "^3.4|^4.0|^5.0", + "symfony/framework-bundle": "^3.4|^4.0|^5.0", + "symfony/http-kernel": "^3.4|^4.0|^5.0" + }, + "require-dev": { + "composer/semver": "^3.0@dev", + "doctrine/doctrine-bundle": "^1.8|^2.0", + "doctrine/orm": "^2.3", + "friendsofphp/php-cs-fixer": "^2.8", + "friendsoftwig/twigcs": "^3.1.2", + "symfony/http-client": "^4.3|^5.0", + "symfony/phpunit-bridge": "^4.3|^5.0", + "symfony/process": "^3.4|^4.0|^5.0", + "symfony/security-core": "^3.4|^4.0|^5.0", + "symfony/yaml": "^3.4|^4.0|^5.0" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-main": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Bundle\\MakerBundle\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Maker helps you create empty commands, controllers, form classes, tests and more so you can forget about writing boilerplate code.", + "homepage": "https://symfony.com/doc/current/bundles/SymfonyMakerBundle/index.html", + "keywords": [ + "code generator", + "generator", + "scaffold", + "scaffolding" + ], + "support": { + "issues": "https://github.com/symfony/maker-bundle/issues", + "source": "https://github.com/symfony/maker-bundle/tree/v1.29.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": "2021-02-10T19:21:31+00:00" + }, + { + "name": "symfony/phpunit-bridge", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/phpunit-bridge.git", + "reference": "587f2b6bbcda8c473b91c18165958ffbb8af3c4c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/587f2b6bbcda8c473b91c18165958ffbb8af3c4c", + "reference": "587f2b6bbcda8c473b91c18165958ffbb8af3c4c", + "shasum": "" + }, + "require": { + "php": ">=5.5.9" + }, + "conflict": { + "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0|<6.4,>=6.0|9.1.2" + }, + "require-dev": { + "symfony/deprecation-contracts": "^2.1", + "symfony/error-handler": "^4.4|^5.0" + }, + "suggest": { + "symfony/error-handler": "For tracking deprecated interfaces usages at runtime with DebugClassLoader" + }, + "bin": [ + "bin/simple-phpunit" + ], + "type": "symfony-bridge", + "extra": { + "thanks": { + "name": "phpunit/phpunit", + "url": "https://github.com/sebastianbergmann/phpunit" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Bridge\\PhpUnit\\": "" + }, + "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": "Provides utilities for PHPUnit, especially user deprecation notices management", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/phpunit-bridge/tree/v5.2.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": "2021-01-25T13:54:05+00:00" + }, + { + "name": "symfony/web-profiler-bundle", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/web-profiler-bundle.git", + "reference": "4b28c24db64156ad892300be7fae1978bed075ce" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/4b28c24db64156ad892300be7fae1978bed075ce", + "reference": "4b28c24db64156ad892300be7fae1978bed075ce", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/config": "^4.4|^5.0", + "symfony/framework-bundle": "^5.1", + "symfony/http-kernel": "^5.2", + "symfony/routing": "^4.4|^5.0", + "symfony/twig-bundle": "^4.4|^5.0", + "twig/twig": "^2.13|^3.0.4" + }, + "conflict": { + "symfony/dependency-injection": "<5.2", + "symfony/form": "<4.4", + "symfony/messenger": "<4.4" + }, + "require-dev": { + "symfony/browser-kit": "^4.4|^5.0", + "symfony/console": "^4.4|^5.0", + "symfony/css-selector": "^4.4|^5.0", + "symfony/stopwatch": "^4.4|^5.0" + }, + "type": "symfony-bundle", + "autoload": { + "psr-4": { + "Symfony\\Bundle\\WebProfilerBundle\\": "" + }, + "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 a development tool that gives detailed information about the execution of any request", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/web-profiler-bundle/tree/v5.2.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": "2021-01-28T22:06:19+00:00" + } + ], + "aliases": [], + "minimum-stability": "dev", + "stability-flags": [], + "prefer-stable": true, + "prefer-lowest": false, + "platform": { + "php": ">=7.2.5", + "ext-ctype": "*", + "ext-iconv": "*" + }, + "platform-dev": [], + "plugin-api-version": "2.0.0" +} diff --git a/composer.phar b/composer.phar new file mode 100644 index 0000000..3fb713f --- /dev/null +++ b/composer.phar Binary files differ diff --git a/config/bundles.php b/config/bundles.php new file mode 100644 index 0000000..5d547fc --- /dev/null +++ b/config/bundles.php @@ -0,0 +1,15 @@ + ['all' => true], + Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle::class => ['all' => true], + Symfony\Bundle\TwigBundle\TwigBundle::class => ['all' => true], + Symfony\Bundle\WebProfilerBundle\WebProfilerBundle::class => ['dev' => true, 'test' => true], + Symfony\Bundle\MonologBundle\MonologBundle::class => ['all' => true], + Symfony\Bundle\DebugBundle\DebugBundle::class => ['dev' => true, 'test' => true], + Symfony\Bundle\MakerBundle\MakerBundle::class => ['dev' => true], + Doctrine\Bundle\DoctrineBundle\DoctrineBundle::class => ['all' => true], + Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle::class => ['all' => true], + Symfony\Bundle\SecurityBundle\SecurityBundle::class => ['all' => true], + Twig\Extra\TwigExtraBundle\TwigExtraBundle::class => ['all' => true], +]; diff --git a/config/packages/cache.yaml b/config/packages/cache.yaml new file mode 100644 index 0000000..6899b72 --- /dev/null +++ b/config/packages/cache.yaml @@ -0,0 +1,19 @@ +framework: + cache: + # Unique name of your app: used to compute stable namespaces for cache keys. + #prefix_seed: your_vendor_name/app_name + + # The "app" cache stores to the filesystem by default. + # The data in this cache should persist between deploys. + # Other options include: + + # Redis + #app: cache.adapter.redis + #default_redis_provider: redis://localhost + + # APCu (not recommended with heavy random-write workloads as memory fragmentation can cause perf issues) + #app: cache.adapter.apcu + + # Namespaced pools use the above "app" backend by default + #pools: + #my.dedicated.cache: null diff --git a/config/packages/dev/debug.yaml b/config/packages/dev/debug.yaml new file mode 100644 index 0000000..26d4e53 --- /dev/null +++ b/config/packages/dev/debug.yaml @@ -0,0 +1,4 @@ +debug: + # Forwards VarDumper Data clones to a centralized server allowing to inspect dumps on CLI or in your browser. + # See the "server:dump" command to start a new server. + dump_destination: "tcp://%env(VAR_DUMPER_SERVER)%" diff --git a/config/packages/dev/monolog.yaml b/config/packages/dev/monolog.yaml new file mode 100644 index 0000000..b1998da --- /dev/null +++ b/config/packages/dev/monolog.yaml @@ -0,0 +1,19 @@ +monolog: + handlers: + main: + type: stream + path: "%kernel.logs_dir%/%kernel.environment%.log" + level: debug + channels: ["!event"] + # uncomment to get logging in your browser + # you may have to allow bigger header sizes in your Web server configuration + #firephp: + # type: firephp + # level: info + #chromephp: + # type: chromephp + # level: info + console: + type: console + process_psr_3_messages: false + channels: ["!event", "!doctrine", "!console"] diff --git a/config/packages/dev/web_profiler.yaml b/config/packages/dev/web_profiler.yaml new file mode 100644 index 0000000..e92166a --- /dev/null +++ b/config/packages/dev/web_profiler.yaml @@ -0,0 +1,6 @@ +web_profiler: + toolbar: true + intercept_redirects: false + +framework: + profiler: { only_exceptions: false } diff --git a/config/packages/doctrine.yaml b/config/packages/doctrine.yaml new file mode 100644 index 0000000..67193cb --- /dev/null +++ b/config/packages/doctrine.yaml @@ -0,0 +1,18 @@ +doctrine: + dbal: + driver: 'pdo_mysql' + server_version: '5.7' + charset: utf8mb4 + default_table_options: + charset: utf8mb4 + collate: utf8mb4_unicode_ci + + url: '%env(resolve:DATABASE_URL)%' + orm: + default_entity_manager: default + mappings: + App\Entity: + type: xml + dir: '%kernel.project_dir%/config/packages/mapping' + prefix: App\Entity + is_bundle: false \ No newline at end of file diff --git a/config/packages/doctrine_migrations.yaml b/config/packages/doctrine_migrations.yaml new file mode 100644 index 0000000..61e6612 --- /dev/null +++ b/config/packages/doctrine_migrations.yaml @@ -0,0 +1,5 @@ +doctrine_migrations: + migrations_paths: + # namespace is arbitrary but should be different from App\Migrations + # as migrations classes should NOT be autoloaded + 'DoctrineMigrations': '%kernel.project_dir%/migrations' diff --git a/config/packages/framework.yaml b/config/packages/framework.yaml new file mode 100644 index 0000000..cad7f78 --- /dev/null +++ b/config/packages/framework.yaml @@ -0,0 +1,17 @@ +# see https://symfony.com/doc/current/reference/configuration/framework.html +framework: + secret: '%env(APP_SECRET)%' + #csrf_protection: true + #http_method_override: true + + # Enables session support. Note that the session will ONLY be started if you read or write from it. + # Remove or comment this section to explicitly disable session support. + session: + handler_id: null + cookie_secure: auto + cookie_samesite: lax + + #esi: true + #fragments: true + php_errors: + log: true diff --git a/config/packages/mapping/ActivityEntity.orm.xml b/config/packages/mapping/ActivityEntity.orm.xml new file mode 100644 index 0000000..a8e0e3d --- /dev/null +++ b/config/packages/mapping/ActivityEntity.orm.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/config/packages/mapping/ActorEntity.orm.xml b/config/packages/mapping/ActorEntity.orm.xml new file mode 100644 index 0000000..108c2b4 --- /dev/null +++ b/config/packages/mapping/ActorEntity.orm.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/config/packages/prod/deprecations.yaml b/config/packages/prod/deprecations.yaml new file mode 100644 index 0000000..920a061 --- /dev/null +++ b/config/packages/prod/deprecations.yaml @@ -0,0 +1,8 @@ +# As of Symfony 5.1, deprecations are logged in the dedicated "deprecation" channel when it exists +#monolog: +# channels: [deprecation] +# handlers: +# deprecation: +# type: stream +# channels: [deprecation] +# path: "%kernel.logs_dir%/%kernel.environment%.deprecations.log" diff --git a/config/packages/prod/doctrine.yaml b/config/packages/prod/doctrine.yaml new file mode 100644 index 0000000..084f59a --- /dev/null +++ b/config/packages/prod/doctrine.yaml @@ -0,0 +1,20 @@ +doctrine: + orm: + auto_generate_proxy_classes: false + metadata_cache_driver: + type: pool + pool: doctrine.system_cache_pool + query_cache_driver: + type: pool + pool: doctrine.system_cache_pool + result_cache_driver: + type: pool + pool: doctrine.result_cache_pool + +framework: + cache: + pools: + doctrine.result_cache_pool: + adapter: cache.app + doctrine.system_cache_pool: + adapter: cache.system diff --git a/config/packages/prod/monolog.yaml b/config/packages/prod/monolog.yaml new file mode 100644 index 0000000..bfe69c0 --- /dev/null +++ b/config/packages/prod/monolog.yaml @@ -0,0 +1,16 @@ +monolog: + handlers: + main: + type: fingers_crossed + action_level: error + handler: nested + excluded_http_codes: [404, 405] + buffer_size: 50 # How many messages should be saved? Prevent memory leaks + nested: + type: stream + path: "%kernel.logs_dir%/%kernel.environment%.log" + level: debug + console: + type: console + process_psr_3_messages: false + channels: ["!event", "!doctrine"] diff --git a/config/packages/prod/routing.yaml b/config/packages/prod/routing.yaml new file mode 100644 index 0000000..b3e6a0a --- /dev/null +++ b/config/packages/prod/routing.yaml @@ -0,0 +1,3 @@ +framework: + router: + strict_requirements: null diff --git a/config/packages/routing.yaml b/config/packages/routing.yaml new file mode 100644 index 0000000..b45c1ce --- /dev/null +++ b/config/packages/routing.yaml @@ -0,0 +1,7 @@ +framework: + router: + utf8: true + + # Configure how to generate URLs in non-HTTP contexts, such as CLI commands. + # See https://symfony.com/doc/current/routing.html#generating-urls-in-commands + #default_uri: http://localhost diff --git a/config/packages/security.yaml b/config/packages/security.yaml new file mode 100644 index 0000000..0e4cf3d --- /dev/null +++ b/config/packages/security.yaml @@ -0,0 +1,24 @@ +security: + # https://symfony.com/doc/current/security.html#where-do-users-come-from-user-providers + providers: + users_in_memory: { memory: null } + firewalls: + dev: + pattern: ^/(_(profiler|wdt)|css|images|js)/ + security: false + main: + anonymous: true + lazy: true + provider: users_in_memory + + # activate different ways to authenticate + # https://symfony.com/doc/current/security.html#firewalls-authentication + + # https://symfony.com/doc/current/security/impersonating_user.html + # switch_user: true + + # Easy way to control access for large sections of your site + # Note: Only the *first* access control that matches will be used + access_control: + # - { path: ^/admin, roles: ROLE_ADMIN } + # - { path: ^/profile, roles: ROLE_USER } diff --git a/config/packages/sensio_framework_extra.yaml b/config/packages/sensio_framework_extra.yaml new file mode 100644 index 0000000..1821ccc --- /dev/null +++ b/config/packages/sensio_framework_extra.yaml @@ -0,0 +1,3 @@ +sensio_framework_extra: + router: + annotations: false diff --git a/config/packages/test/framework.yaml b/config/packages/test/framework.yaml new file mode 100644 index 0000000..d051c84 --- /dev/null +++ b/config/packages/test/framework.yaml @@ -0,0 +1,4 @@ +framework: + test: true + session: + storage_id: session.storage.mock_file diff --git a/config/packages/test/monolog.yaml b/config/packages/test/monolog.yaml new file mode 100644 index 0000000..fc40641 --- /dev/null +++ b/config/packages/test/monolog.yaml @@ -0,0 +1,12 @@ +monolog: + handlers: + main: + type: fingers_crossed + action_level: error + handler: nested + excluded_http_codes: [404, 405] + channels: ["!event"] + nested: + type: stream + path: "%kernel.logs_dir%/%kernel.environment%.log" + level: debug diff --git a/config/packages/test/twig.yaml b/config/packages/test/twig.yaml new file mode 100644 index 0000000..8c6e0b4 --- /dev/null +++ b/config/packages/test/twig.yaml @@ -0,0 +1,2 @@ +twig: + strict_variables: true diff --git a/config/packages/test/validator.yaml b/config/packages/test/validator.yaml new file mode 100644 index 0000000..1e5ab78 --- /dev/null +++ b/config/packages/test/validator.yaml @@ -0,0 +1,3 @@ +framework: + validation: + not_compromised_password: false diff --git a/config/packages/test/web_profiler.yaml b/config/packages/test/web_profiler.yaml new file mode 100644 index 0000000..03752de --- /dev/null +++ b/config/packages/test/web_profiler.yaml @@ -0,0 +1,6 @@ +web_profiler: + toolbar: false + intercept_redirects: false + +framework: + profiler: { collect: false } diff --git a/config/packages/twig.yaml b/config/packages/twig.yaml new file mode 100644 index 0000000..94ea8a5 --- /dev/null +++ b/config/packages/twig.yaml @@ -0,0 +1,8 @@ +twig: + default_path: '%kernel.project_dir%/templates' + debug: '%kernel.debug%' + strict_variables: '%kernel.debug%' + globals: + baseUrl: '%env(WEBSITE_BASE_URL)%' + scripts: [] + styles: [] diff --git a/config/packages/validator.yaml b/config/packages/validator.yaml new file mode 100644 index 0000000..350786a --- /dev/null +++ b/config/packages/validator.yaml @@ -0,0 +1,8 @@ +framework: + validation: + email_validation_mode: html5 + + # Enables validator auto-mapping support. + # For instance, basic validation constraints will be inferred from Doctrine's metadata. + #auto_mapping: + # App\Entity\: [] diff --git a/config/preload.php b/config/preload.php new file mode 100644 index 0000000..5ebcdb2 --- /dev/null +++ b/config/preload.php @@ -0,0 +1,5 @@ + + + + + + + + + + + + + + + tests + + + + + + src + + + + + + + diff --git a/public/.htaccess b/public/.htaccess new file mode 100644 index 0000000..2776637 --- /dev/null +++ b/public/.htaccess @@ -0,0 +1,66 @@ +# Use the front controller as index file. It serves as a fallback solution when +# every other rewrite/redirect fails (e.g. in an aliased environment without +# mod_rewrite). Additionally, this reduces the matching process for the +# start page (path "/") because otherwise Apache will apply the rewriting rules +# to each configured DirectoryIndex file (e.g. index.php, index.html, index.pl). +DirectoryIndex index.php + +# By default, Apache does not evaluate symbolic links if you did not enable this +# feature in your server configuration. Uncomment the following line if you +# install assets as symlinks or if you experience problems related to symlinks +# when compiling LESS/Sass/CoffeScript assets. +# Options +FollowSymlinks + +# Disabling MultiViews prevents unwanted negotiation, e.g. "/index" should not resolve +# to the front controller "/index.php" but be rewritten to "/index.php/index". + + Options -MultiViews + + + + RewriteEngine On + + # Determine the RewriteBase automatically and set it as environment variable. + # If you are using Apache aliases to do mass virtual hosting or installed the + # project in a subdirectory, the base path will be prepended to allow proper + # resolution of the index.php file and to redirect to the correct URI. It will + # work in environments without path prefix as well, providing a safe, one-size + # fits all solution. But as you do not need it in this case, you can comment + # the following 2 lines to eliminate the overhead. + RewriteCond %{REQUEST_URI}::$0 ^(/.+)/(.*)::\2$ + RewriteRule .* - [E=BASE:%1] + + # Sets the HTTP_AUTHORIZATION header removed by Apache + RewriteCond %{HTTP:Authorization} .+ + RewriteRule ^ - [E=HTTP_AUTHORIZATION:%0] + + # Redirect to URI without front controller to prevent duplicate content + # (with and without `/index.php`). Only do this redirect on the initial + # rewrite by Apache and not on subsequent cycles. Otherwise we would get an + # endless redirect loop (request -> rewrite to front controller -> + # redirect -> request -> ...). + # So in case you get a "too many redirects" error or you always get redirected + # to the start page because your Apache does not expose the REDIRECT_STATUS + # environment variable, you have 2 choices: + # - disable this feature by commenting the following 2 lines or + # - use Apache >= 2.3.9 and replace all L flags by END flags and remove the + # following RewriteCond (best solution) + RewriteCond %{ENV:REDIRECT_STATUS} ="" + RewriteRule ^index\.php(?:/(.*)|$) %{ENV:BASE}/$1 [R=301,L] + + # If the requested filename exists, simply serve it. + # We only want to let Apache serve files and not directories. + # Rewrite all other queries to the front controller. + RewriteCond %{REQUEST_FILENAME} !-f + RewriteRule ^ %{ENV:BASE}/index.php [L] + + + + + # When mod_rewrite is not available, we instruct a temporary redirect of + # the start page to the front controller explicitly so that the website + # and the generated links can still be used. + RedirectMatch 307 ^/$ /index.php/ + # RedirectTemp cannot be used instead + + diff --git a/public/icofont/demo.html b/public/icofont/demo.html new file mode 100644 index 0000000..2dba2c5 --- /dev/null +++ b/public/icofont/demo.html @@ -0,0 +1,18942 @@ + + + + + Examples | IcoFont + + + + +
+
+

IcoFont Icons

+
+
+
+ +
+ + + \ No newline at end of file diff --git a/public/icofont/fonts/icofont.eot b/public/icofont/fonts/icofont.eot new file mode 100644 index 0000000..56e15db --- /dev/null +++ b/public/icofont/fonts/icofont.eot Binary files differ diff --git a/public/icofont/fonts/icofont.svg b/public/icofont/fonts/icofont.svg new file mode 100644 index 0000000..8535ec6 --- /dev/null +++ b/public/icofont/fonts/icofont.svg @@ -0,0 +1,2105 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/icofont/fonts/icofont.ttf b/public/icofont/fonts/icofont.ttf new file mode 100644 index 0000000..ba6d235 --- /dev/null +++ b/public/icofont/fonts/icofont.ttf Binary files differ diff --git a/public/icofont/fonts/icofont.woff b/public/icofont/fonts/icofont.woff new file mode 100644 index 0000000..48002ce --- /dev/null +++ b/public/icofont/fonts/icofont.woff Binary files differ diff --git a/public/icofont/fonts/icofont.woff2 b/public/icofont/fonts/icofont.woff2 new file mode 100644 index 0000000..75f03d7 --- /dev/null +++ b/public/icofont/fonts/icofont.woff2 Binary files differ diff --git a/public/icofont/icofont.css b/public/icofont/icofont.css new file mode 100644 index 0000000..f6d1006 --- /dev/null +++ b/public/icofont/icofont.css @@ -0,0 +1,10757 @@ +/*! +* @package IcoFont +* @version 1.0.1 +* @author IcoFont https://icofont.com +* @copyright Copyright (c) 2015 - 2018 IcoFont +* @license - https://icofont.com/license/ +*/ + +@font-face +{ + + font-family: "IcoFont"; +font-weight: normal; +font-style: "Regular"; +src: url("./fonts/icofont.woff2") format("woff2"), +url("./fonts/icofont.woff") format("woff"); +} + +[class^="icofont-"], [class*=" icofont-"] +{ + font-family: 'IcoFont' !important; + speak: none; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + white-space: nowrap; + word-wrap: normal; + direction: ltr; + line-height: 1; +/* Better Font Rendering =========== */ + -webkit-font-feature-settings: "liga"; + -webkit-font-smoothing: antialiased; +} + +.icofont-angry-monster:before +{ + content: "\e800"; +} + +.icofont-bathtub:before +{ + content: "\e801"; +} + +.icofont-bird-wings:before +{ + content: "\e802"; +} + +.icofont-bow:before +{ + content: "\e803"; +} + +.icofont-castle:before +{ + content: "\e804"; +} + +.icofont-circuit:before +{ + content: "\e805"; +} + +.icofont-crown-king:before +{ + content: "\e806"; +} + +.icofont-crown-queen:before +{ + content: "\e807"; +} + +.icofont-dart:before +{ + content: "\e808"; +} + +.icofont-disability-race:before +{ + content: "\e809"; +} + +.icofont-diving-goggle:before +{ + content: "\e80a"; +} + +.icofont-eye-open:before +{ + content: "\e80b"; +} + +.icofont-flora-flower:before +{ + content: "\e80c"; +} + +.icofont-flora:before +{ + content: "\e80d"; +} + +.icofont-gift-box:before +{ + content: "\e80e"; +} + +.icofont-halloween-pumpkin:before +{ + content: "\e80f"; +} + +.icofont-hand-power:before +{ + content: "\e810"; +} + +.icofont-hand-thunder:before +{ + content: "\e811"; +} + +.icofont-king-monster:before +{ + content: "\e812"; +} + +.icofont-love:before +{ + content: "\e813"; +} + +.icofont-magician-hat:before +{ + content: "\e814"; +} + +.icofont-native-american:before +{ + content: "\e815"; +} + +.icofont-owl-look:before +{ + content: "\e816"; +} + +.icofont-phoenix:before +{ + content: "\e817"; +} + +.icofont-robot-face:before +{ + content: "\e818"; +} + +.icofont-sand-clock:before +{ + content: "\e819"; +} + +.icofont-shield-alt:before +{ + content: "\e81a"; +} + +.icofont-ship-wheel:before +{ + content: "\e81b"; +} + +.icofont-skull-danger:before +{ + content: "\e81c"; +} + +.icofont-skull-face:before +{ + content: "\e81d"; +} + +.icofont-snowmobile:before +{ + content: "\e81e"; +} + +.icofont-space-shuttle:before +{ + content: "\e81f"; +} + +.icofont-star-shape:before +{ + content: "\e820"; +} + +.icofont-swirl:before +{ + content: "\e821"; +} + +.icofont-tattoo-wing:before +{ + content: "\e822"; +} + +.icofont-throne:before +{ + content: "\e823"; +} + +.icofont-tree-alt:before +{ + content: "\e824"; +} + +.icofont-triangle:before +{ + content: "\e825"; +} + +.icofont-unity-hand:before +{ + content: "\e826"; +} + +.icofont-weed:before +{ + content: "\e827"; +} + +.icofont-woman-bird:before +{ + content: "\e828"; +} + +.icofont-bat:before +{ + content: "\e829"; +} + +.icofont-bear-face:before +{ + content: "\e82a"; +} + +.icofont-bear-tracks:before +{ + content: "\e82b"; +} + +.icofont-bear:before +{ + content: "\e82c"; +} + +.icofont-bird-alt:before +{ + content: "\e82d"; +} + +.icofont-bird-flying:before +{ + content: "\e82e"; +} + +.icofont-bird:before +{ + content: "\e82f"; +} + +.icofont-birds:before +{ + content: "\e830"; +} + +.icofont-bone:before +{ + content: "\e831"; +} + +.icofont-bull:before +{ + content: "\e832"; +} + +.icofont-butterfly-alt:before +{ + content: "\e833"; +} + +.icofont-butterfly:before +{ + content: "\e834"; +} + +.icofont-camel-alt:before +{ + content: "\e835"; +} + +.icofont-camel-head:before +{ + content: "\e836"; +} + +.icofont-camel:before +{ + content: "\e837"; +} + +.icofont-cat-alt-1:before +{ + content: "\e838"; +} + +.icofont-cat-alt-2:before +{ + content: "\e839"; +} + +.icofont-cat-alt-3:before +{ + content: "\e83a"; +} + +.icofont-cat-dog:before +{ + content: "\e83b"; +} + +.icofont-cat-face:before +{ + content: "\e83c"; +} + +.icofont-cat:before +{ + content: "\e83d"; +} + +.icofont-cow-head:before +{ + content: "\e83e"; +} + +.icofont-cow:before +{ + content: "\e83f"; +} + +.icofont-crab:before +{ + content: "\e840"; +} + +.icofont-crocodile:before +{ + content: "\e841"; +} + +.icofont-deer-head:before +{ + content: "\e842"; +} + +.icofont-dog-alt:before +{ + content: "\e843"; +} + +.icofont-dog-barking:before +{ + content: "\e844"; +} + +.icofont-dog:before +{ + content: "\e845"; +} + +.icofont-dolphin:before +{ + content: "\e846"; +} + +.icofont-duck-tracks:before +{ + content: "\e847"; +} + +.icofont-eagle-head:before +{ + content: "\e848"; +} + +.icofont-eaten-fish:before +{ + content: "\e849"; +} + +.icofont-elephant-alt:before +{ + content: "\e84a"; +} + +.icofont-elephant-head-alt:before +{ + content: "\e84b"; +} + +.icofont-elephant-head:before +{ + content: "\e84c"; +} + +.icofont-elephant:before +{ + content: "\e84d"; +} + +.icofont-elk:before +{ + content: "\e84e"; +} + +.icofont-fish-1:before +{ + content: "\e84f"; +} + +.icofont-fish-2:before +{ + content: "\e850"; +} + +.icofont-fish-3:before +{ + content: "\e851"; +} + +.icofont-fish-4:before +{ + content: "\e852"; +} + +.icofont-fish-5:before +{ + content: "\e853"; +} + +.icofont-fish:before +{ + content: "\e854"; +} + +.icofont-fox-alt:before +{ + content: "\e855"; +} + +.icofont-fox:before +{ + content: "\e856"; +} + +.icofont-frog-tracks:before +{ + content: "\e857"; +} + +.icofont-frog:before +{ + content: "\e858"; +} + +.icofont-froggy:before +{ + content: "\e859"; +} + +.icofont-giraffe-head-1:before +{ + content: "\e85a"; +} + +.icofont-giraffe-head-2:before +{ + content: "\e85b"; +} + +.icofont-giraffe-head:before +{ + content: "\e85c"; +} + +.icofont-giraffe:before +{ + content: "\e85d"; +} + +.icofont-goat-head:before +{ + content: "\e85e"; +} + +.icofont-gorilla:before +{ + content: "\e85f"; +} + +.icofont-hen-tracks:before +{ + content: "\e860"; +} + +.icofont-horse-head-1:before +{ + content: "\e861"; +} + +.icofont-horse-head-2:before +{ + content: "\e862"; +} + +.icofont-horse-head:before +{ + content: "\e863"; +} + +.icofont-horse-tracks:before +{ + content: "\e864"; +} + +.icofont-jellyfish:before +{ + content: "\e865"; +} + +.icofont-kangaroo:before +{ + content: "\e866"; +} + +.icofont-lemur:before +{ + content: "\e867"; +} + +.icofont-lion-head-1:before +{ + content: "\e868"; +} + +.icofont-lion-head-2:before +{ + content: "\e869"; +} + +.icofont-lion-head:before +{ + content: "\e86a"; +} + +.icofont-lion:before +{ + content: "\e86b"; +} + +.icofont-monkey-2:before +{ + content: "\e86c"; +} + +.icofont-monkey-3:before +{ + content: "\e86d"; +} + +.icofont-monkey-face:before +{ + content: "\e86e"; +} + +.icofont-monkey:before +{ + content: "\e86f"; +} + +.icofont-octopus-alt:before +{ + content: "\e870"; +} + +.icofont-octopus:before +{ + content: "\e871"; +} + +.icofont-owl:before +{ + content: "\e872"; +} + +.icofont-panda-face:before +{ + content: "\e873"; +} + +.icofont-panda:before +{ + content: "\e874"; +} + +.icofont-panther:before +{ + content: "\e875"; +} + +.icofont-parrot-lip:before +{ + content: "\e876"; +} + +.icofont-parrot:before +{ + content: "\e877"; +} + +.icofont-paw:before +{ + content: "\e878"; +} + +.icofont-pelican:before +{ + content: "\e879"; +} + +.icofont-penguin:before +{ + content: "\e87a"; +} + +.icofont-pig-face:before +{ + content: "\e87b"; +} + +.icofont-pig:before +{ + content: "\e87c"; +} + +.icofont-pigeon-1:before +{ + content: "\e87d"; +} + +.icofont-pigeon-2:before +{ + content: "\e87e"; +} + +.icofont-pigeon:before +{ + content: "\e87f"; +} + +.icofont-rabbit:before +{ + content: "\e880"; +} + +.icofont-rat:before +{ + content: "\e881"; +} + +.icofont-rhino-head:before +{ + content: "\e882"; +} + +.icofont-rhino:before +{ + content: "\e883"; +} + +.icofont-rooster:before +{ + content: "\e884"; +} + +.icofont-seahorse:before +{ + content: "\e885"; +} + +.icofont-seal:before +{ + content: "\e886"; +} + +.icofont-shrimp-alt:before +{ + content: "\e887"; +} + +.icofont-shrimp:before +{ + content: "\e888"; +} + +.icofont-snail-1:before +{ + content: "\e889"; +} + +.icofont-snail-2:before +{ + content: "\e88a"; +} + +.icofont-snail-3:before +{ + content: "\e88b"; +} + +.icofont-snail:before +{ + content: "\e88c"; +} + +.icofont-snake:before +{ + content: "\e88d"; +} + +.icofont-squid:before +{ + content: "\e88e"; +} + +.icofont-squirrel:before +{ + content: "\e88f"; +} + +.icofont-tiger-face:before +{ + content: "\e890"; +} + +.icofont-tiger:before +{ + content: "\e891"; +} + +.icofont-turtle:before +{ + content: "\e892"; +} + +.icofont-whale:before +{ + content: "\e893"; +} + +.icofont-woodpecker:before +{ + content: "\e894"; +} + +.icofont-zebra:before +{ + content: "\e895"; +} + +.icofont-brand-acer:before +{ + content: "\e896"; +} + +.icofont-brand-adidas:before +{ + content: "\e897"; +} + +.icofont-brand-adobe:before +{ + content: "\e898"; +} + +.icofont-brand-air-new-zealand:before +{ + content: "\e899"; +} + +.icofont-brand-airbnb:before +{ + content: "\e89a"; +} + +.icofont-brand-aircell:before +{ + content: "\e89b"; +} + +.icofont-brand-airtel:before +{ + content: "\e89c"; +} + +.icofont-brand-alcatel:before +{ + content: "\e89d"; +} + +.icofont-brand-alibaba:before +{ + content: "\e89e"; +} + +.icofont-brand-aliexpress:before +{ + content: "\e89f"; +} + +.icofont-brand-alipay:before +{ + content: "\e8a0"; +} + +.icofont-brand-amazon:before +{ + content: "\e8a1"; +} + +.icofont-brand-amd:before +{ + content: "\e8a2"; +} + +.icofont-brand-american-airlines:before +{ + content: "\e8a3"; +} + +.icofont-brand-android-robot:before +{ + content: "\e8a4"; +} + +.icofont-brand-android:before +{ + content: "\e8a5"; +} + +.icofont-brand-aol:before +{ + content: "\e8a6"; +} + +.icofont-brand-apple:before +{ + content: "\e8a7"; +} + +.icofont-brand-appstore:before +{ + content: "\e8a8"; +} + +.icofont-brand-asus:before +{ + content: "\e8a9"; +} + +.icofont-brand-ati:before +{ + content: "\e8aa"; +} + +.icofont-brand-att:before +{ + content: "\e8ab"; +} + +.icofont-brand-audi:before +{ + content: "\e8ac"; +} + +.icofont-brand-axiata:before +{ + content: "\e8ad"; +} + +.icofont-brand-bada:before +{ + content: "\e8ae"; +} + +.icofont-brand-bbc:before +{ + content: "\e8af"; +} + +.icofont-brand-bing:before +{ + content: "\e8b0"; +} + +.icofont-brand-blackberry:before +{ + content: "\e8b1"; +} + +.icofont-brand-bmw:before +{ + content: "\e8b2"; +} + +.icofont-brand-box:before +{ + content: "\e8b3"; +} + +.icofont-brand-burger-king:before +{ + content: "\e8b4"; +} + +.icofont-brand-business-insider:before +{ + content: "\e8b5"; +} + +.icofont-brand-buzzfeed:before +{ + content: "\e8b6"; +} + +.icofont-brand-cannon:before +{ + content: "\e8b7"; +} + +.icofont-brand-casio:before +{ + content: "\e8b8"; +} + +.icofont-brand-china-mobile:before +{ + content: "\e8b9"; +} + +.icofont-brand-china-telecom:before +{ + content: "\e8ba"; +} + +.icofont-brand-china-unicom:before +{ + content: "\e8bb"; +} + +.icofont-brand-cisco:before +{ + content: "\e8bc"; +} + +.icofont-brand-citibank:before +{ + content: "\e8bd"; +} + +.icofont-brand-cnet:before +{ + content: "\e8be"; +} + +.icofont-brand-cnn:before +{ + content: "\e8bf"; +} + +.icofont-brand-cocal-cola:before +{ + content: "\e8c0"; +} + +.icofont-brand-compaq:before +{ + content: "\e8c1"; +} + +.icofont-brand-debian:before +{ + content: "\e8c2"; +} + +.icofont-brand-delicious:before +{ + content: "\e8c3"; +} + +.icofont-brand-dell:before +{ + content: "\e8c4"; +} + +.icofont-brand-designbump:before +{ + content: "\e8c5"; +} + +.icofont-brand-designfloat:before +{ + content: "\e8c6"; +} + +.icofont-brand-disney:before +{ + content: "\e8c7"; +} + +.icofont-brand-dodge:before +{ + content: "\e8c8"; +} + +.icofont-brand-dove:before +{ + content: "\e8c9"; +} + +.icofont-brand-drupal:before +{ + content: "\e8ca"; +} + +.icofont-brand-ebay:before +{ + content: "\e8cb"; +} + +.icofont-brand-eleven:before +{ + content: "\e8cc"; +} + +.icofont-brand-emirates:before +{ + content: "\e8cd"; +} + +.icofont-brand-espn:before +{ + content: "\e8ce"; +} + +.icofont-brand-etihad-airways:before +{ + content: "\e8cf"; +} + +.icofont-brand-etisalat:before +{ + content: "\e8d0"; +} + +.icofont-brand-etsy:before +{ + content: "\e8d1"; +} + +.icofont-brand-fastrack:before +{ + content: "\e8d2"; +} + +.icofont-brand-fedex:before +{ + content: "\e8d3"; +} + +.icofont-brand-ferrari:before +{ + content: "\e8d4"; +} + +.icofont-brand-fitbit:before +{ + content: "\e8d5"; +} + +.icofont-brand-flikr:before +{ + content: "\e8d6"; +} + +.icofont-brand-forbes:before +{ + content: "\e8d7"; +} + +.icofont-brand-foursquare:before +{ + content: "\e8d8"; +} + +.icofont-brand-foxconn:before +{ + content: "\e8d9"; +} + +.icofont-brand-fujitsu:before +{ + content: "\e8da"; +} + +.icofont-brand-general-electric:before +{ + content: "\e8db"; +} + +.icofont-brand-gillette:before +{ + content: "\e8dc"; +} + +.icofont-brand-gizmodo:before +{ + content: "\e8dd"; +} + +.icofont-brand-gnome:before +{ + content: "\e8de"; +} + +.icofont-brand-google:before +{ + content: "\e8df"; +} + +.icofont-brand-gopro:before +{ + content: "\e8e0"; +} + +.icofont-brand-gucci:before +{ + content: "\e8e1"; +} + +.icofont-brand-hallmark:before +{ + content: "\e8e2"; +} + +.icofont-brand-hi5:before +{ + content: "\e8e3"; +} + +.icofont-brand-honda:before +{ + content: "\e8e4"; +} + +.icofont-brand-hp:before +{ + content: "\e8e5"; +} + +.icofont-brand-hsbc:before +{ + content: "\e8e6"; +} + +.icofont-brand-htc:before +{ + content: "\e8e7"; +} + +.icofont-brand-huawei:before +{ + content: "\e8e8"; +} + +.icofont-brand-hulu:before +{ + content: "\e8e9"; +} + +.icofont-brand-hyundai:before +{ + content: "\e8ea"; +} + +.icofont-brand-ibm:before +{ + content: "\e8eb"; +} + +.icofont-brand-icofont:before +{ + content: "\e8ec"; +} + +.icofont-brand-icq:before +{ + content: "\e8ed"; +} + +.icofont-brand-ikea:before +{ + content: "\e8ee"; +} + +.icofont-brand-imdb:before +{ + content: "\e8ef"; +} + +.icofont-brand-indiegogo:before +{ + content: "\e8f0"; +} + +.icofont-brand-intel:before +{ + content: "\e8f1"; +} + +.icofont-brand-ipair:before +{ + content: "\e8f2"; +} + +.icofont-brand-jaguar:before +{ + content: "\e8f3"; +} + +.icofont-brand-java:before +{ + content: "\e8f4"; +} + +.icofont-brand-joomla:before +{ + content: "\e8f5"; +} + +.icofont-brand-kickstarter:before +{ + content: "\e8f6"; +} + +.icofont-brand-kik:before +{ + content: "\e8f7"; +} + +.icofont-brand-lastfm:before +{ + content: "\e8f8"; +} + +.icofont-brand-lego:before +{ + content: "\e8f9"; +} + +.icofont-brand-lenovo:before +{ + content: "\e8fa"; +} + +.icofont-brand-levis:before +{ + content: "\e8fb"; +} + +.icofont-brand-lexus:before +{ + content: "\e8fc"; +} + +.icofont-brand-lg:before +{ + content: "\e8fd"; +} + +.icofont-brand-life-hacker:before +{ + content: "\e8fe"; +} + +.icofont-brand-linux-mint:before +{ + content: "\e8ff"; +} + +.icofont-brand-linux:before +{ + content: "\e900"; +} + +.icofont-brand-lionix:before +{ + content: "\e901"; +} + +.icofont-brand-loreal:before +{ + content: "\e902"; +} + +.icofont-brand-louis-vuitton:before +{ + content: "\e903"; +} + +.icofont-brand-mac-os:before +{ + content: "\e904"; +} + +.icofont-brand-marvel-app:before +{ + content: "\e905"; +} + +.icofont-brand-mashable:before +{ + content: "\e906"; +} + +.icofont-brand-mazda:before +{ + content: "\e907"; +} + +.icofont-brand-mcdonals:before +{ + content: "\e908"; +} + +.icofont-brand-mercedes:before +{ + content: "\e909"; +} + +.icofont-brand-micromax:before +{ + content: "\e90a"; +} + +.icofont-brand-microsoft:before +{ + content: "\e90b"; +} + +.icofont-brand-mobileme:before +{ + content: "\e90c"; +} + +.icofont-brand-mobily:before +{ + content: "\e90d"; +} + +.icofont-brand-motorola:before +{ + content: "\e90e"; +} + +.icofont-brand-msi:before +{ + content: "\e90f"; +} + +.icofont-brand-mts:before +{ + content: "\e910"; +} + +.icofont-brand-myspace:before +{ + content: "\e911"; +} + +.icofont-brand-mytv:before +{ + content: "\e912"; +} + +.icofont-brand-nasa:before +{ + content: "\e913"; +} + +.icofont-brand-natgeo:before +{ + content: "\e914"; +} + +.icofont-brand-nbc:before +{ + content: "\e915"; +} + +.icofont-brand-nescafe:before +{ + content: "\e916"; +} + +.icofont-brand-nestle:before +{ + content: "\e917"; +} + +.icofont-brand-netflix:before +{ + content: "\e918"; +} + +.icofont-brand-nexus:before +{ + content: "\e919"; +} + +.icofont-brand-nike:before +{ + content: "\e91a"; +} + +.icofont-brand-nokia:before +{ + content: "\e91b"; +} + +.icofont-brand-nvidia:before +{ + content: "\e91c"; +} + +.icofont-brand-omega:before +{ + content: "\e91d"; +} + +.icofont-brand-opensuse:before +{ + content: "\e91e"; +} + +.icofont-brand-oracle:before +{ + content: "\e91f"; +} + +.icofont-brand-panasonic:before +{ + content: "\e920"; +} + +.icofont-brand-paypal:before +{ + content: "\e921"; +} + +.icofont-brand-pepsi:before +{ + content: "\e922"; +} + +.icofont-brand-philips:before +{ + content: "\e923"; +} + +.icofont-brand-pizza-hut:before +{ + content: "\e924"; +} + +.icofont-brand-playstation:before +{ + content: "\e925"; +} + +.icofont-brand-puma:before +{ + content: "\e926"; +} + +.icofont-brand-qatar-air:before +{ + content: "\e927"; +} + +.icofont-brand-qvc:before +{ + content: "\e928"; +} + +.icofont-brand-readernaut:before +{ + content: "\e929"; +} + +.icofont-brand-redbull:before +{ + content: "\e92a"; +} + +.icofont-brand-reebok:before +{ + content: "\e92b"; +} + +.icofont-brand-reuters:before +{ + content: "\e92c"; +} + +.icofont-brand-samsung:before +{ + content: "\e92d"; +} + +.icofont-brand-sap:before +{ + content: "\e92e"; +} + +.icofont-brand-saudia-airlines:before +{ + content: "\e92f"; +} + +.icofont-brand-scribd:before +{ + content: "\e930"; +} + +.icofont-brand-shell:before +{ + content: "\e931"; +} + +.icofont-brand-siemens:before +{ + content: "\e932"; +} + +.icofont-brand-sk-telecom:before +{ + content: "\e933"; +} + +.icofont-brand-slideshare:before +{ + content: "\e934"; +} + +.icofont-brand-smashing-magazine:before +{ + content: "\e935"; +} + +.icofont-brand-snapchat:before +{ + content: "\e936"; +} + +.icofont-brand-sony-ericsson:before +{ + content: "\e937"; +} + +.icofont-brand-sony:before +{ + content: "\e938"; +} + +.icofont-brand-soundcloud:before +{ + content: "\e939"; +} + +.icofont-brand-sprint:before +{ + content: "\e93a"; +} + +.icofont-brand-squidoo:before +{ + content: "\e93b"; +} + +.icofont-brand-starbucks:before +{ + content: "\e93c"; +} + +.icofont-brand-stc:before +{ + content: "\e93d"; +} + +.icofont-brand-steam:before +{ + content: "\e93e"; +} + +.icofont-brand-suzuki:before +{ + content: "\e93f"; +} + +.icofont-brand-symbian:before +{ + content: "\e940"; +} + +.icofont-brand-t-mobile:before +{ + content: "\e941"; +} + +.icofont-brand-tango:before +{ + content: "\e942"; +} + +.icofont-brand-target:before +{ + content: "\e943"; +} + +.icofont-brand-tata-indicom:before +{ + content: "\e944"; +} + +.icofont-brand-techcrunch:before +{ + content: "\e945"; +} + +.icofont-brand-telenor:before +{ + content: "\e946"; +} + +.icofont-brand-teliasonera:before +{ + content: "\e947"; +} + +.icofont-brand-tesla:before +{ + content: "\e948"; +} + +.icofont-brand-the-verge:before +{ + content: "\e949"; +} + +.icofont-brand-thenextweb:before +{ + content: "\e94a"; +} + +.icofont-brand-toshiba:before +{ + content: "\e94b"; +} + +.icofont-brand-toyota:before +{ + content: "\e94c"; +} + +.icofont-brand-tribenet:before +{ + content: "\e94d"; +} + +.icofont-brand-ubuntu:before +{ + content: "\e94e"; +} + +.icofont-brand-unilever:before +{ + content: "\e94f"; +} + +.icofont-brand-vaio:before +{ + content: "\e950"; +} + +.icofont-brand-verizon:before +{ + content: "\e951"; +} + +.icofont-brand-viber:before +{ + content: "\e952"; +} + +.icofont-brand-vodafone:before +{ + content: "\e953"; +} + +.icofont-brand-volkswagen:before +{ + content: "\e954"; +} + +.icofont-brand-walmart:before +{ + content: "\e955"; +} + +.icofont-brand-warnerbros:before +{ + content: "\e956"; +} + +.icofont-brand-whatsapp:before +{ + content: "\e957"; +} + +.icofont-brand-wikipedia:before +{ + content: "\e958"; +} + +.icofont-brand-windows:before +{ + content: "\e959"; +} + +.icofont-brand-wire:before +{ + content: "\e95a"; +} + +.icofont-brand-wordpress:before +{ + content: "\e95b"; +} + +.icofont-brand-xiaomi:before +{ + content: "\e95c"; +} + +.icofont-brand-yahoobuzz:before +{ + content: "\e95d"; +} + +.icofont-brand-yamaha:before +{ + content: "\e95e"; +} + +.icofont-brand-youtube:before +{ + content: "\e95f"; +} + +.icofont-brand-zain:before +{ + content: "\e960"; +} + +.icofont-bank-alt:before +{ + content: "\e961"; +} + +.icofont-bank:before +{ + content: "\e962"; +} + +.icofont-barcode:before +{ + content: "\e963"; +} + +.icofont-bill-alt:before +{ + content: "\e964"; +} + +.icofont-billboard:before +{ + content: "\e965"; +} + +.icofont-briefcase-1:before +{ + content: "\e966"; +} + +.icofont-briefcase-2:before +{ + content: "\e967"; +} + +.icofont-businessman:before +{ + content: "\e968"; +} + +.icofont-businesswoman:before +{ + content: "\e969"; +} + +.icofont-chair:before +{ + content: "\e96a"; +} + +.icofont-coins:before +{ + content: "\e96b"; +} + +.icofont-company:before +{ + content: "\e96c"; +} + +.icofont-contact-add:before +{ + content: "\e96d"; +} + +.icofont-files-stack:before +{ + content: "\e96e"; +} + +.icofont-handshake-deal:before +{ + content: "\e96f"; +} + +.icofont-id-card:before +{ + content: "\e970"; +} + +.icofont-meeting-add:before +{ + content: "\e971"; +} + +.icofont-money-bag:before +{ + content: "\e972"; +} + +.icofont-pie-chart:before +{ + content: "\e973"; +} + +.icofont-presentation-alt:before +{ + content: "\e974"; +} + +.icofont-presentation:before +{ + content: "\e975"; +} + +.icofont-stamp:before +{ + content: "\e976"; +} + +.icofont-stock-mobile:before +{ + content: "\e977"; +} + +.icofont-chart-arrows-axis:before +{ + content: "\e978"; +} + +.icofont-chart-bar-graph:before +{ + content: "\e979"; +} + +.icofont-chart-flow-1:before +{ + content: "\e97a"; +} + +.icofont-chart-flow-2:before +{ + content: "\e97b"; +} + +.icofont-chart-flow:before +{ + content: "\e97c"; +} + +.icofont-chart-growth:before +{ + content: "\e97d"; +} + +.icofont-chart-histogram-alt:before +{ + content: "\e97e"; +} + +.icofont-chart-histogram:before +{ + content: "\e97f"; +} + +.icofont-chart-line-alt:before +{ + content: "\e980"; +} + +.icofont-chart-line:before +{ + content: "\e981"; +} + +.icofont-chart-pie-alt:before +{ + content: "\e982"; +} + +.icofont-chart-pie:before +{ + content: "\e983"; +} + +.icofont-chart-radar-graph:before +{ + content: "\e984"; +} + +.icofont-architecture-alt:before +{ + content: "\e985"; +} + +.icofont-architecture:before +{ + content: "\e986"; +} + +.icofont-barricade:before +{ + content: "\e987"; +} + +.icofont-bolt:before +{ + content: "\e988"; +} + +.icofont-bricks:before +{ + content: "\e989"; +} + +.icofont-building-alt:before +{ + content: "\e98a"; +} + +.icofont-bull-dozer:before +{ + content: "\e98b"; +} + +.icofont-calculations:before +{ + content: "\e98c"; +} + +.icofont-cement-mix:before +{ + content: "\e98d"; +} + +.icofont-cement-mixer:before +{ + content: "\e98e"; +} + +.icofont-concrete-mixer:before +{ + content: "\e98f"; +} + +.icofont-danger-zone:before +{ + content: "\e990"; +} + +.icofont-drill:before +{ + content: "\e991"; +} + +.icofont-eco-energy:before +{ + content: "\e992"; +} + +.icofont-eco-environmen:before +{ + content: "\e993"; +} + +.icofont-energy-air:before +{ + content: "\e994"; +} + +.icofont-energy-oil:before +{ + content: "\e995"; +} + +.icofont-energy-savings:before +{ + content: "\e996"; +} + +.icofont-energy-solar:before +{ + content: "\e997"; +} + +.icofont-energy-water:before +{ + content: "\e998"; +} + +.icofont-engineer:before +{ + content: "\e999"; +} + +.icofont-fire-extinguisher-alt:before +{ + content: "\e99a"; +} + +.icofont-fire-extinguisher:before +{ + content: "\e99b"; +} + +.icofont-fix-tools:before +{ + content: "\e99c"; +} + +.icofont-fork-lift:before +{ + content: "\e99d"; +} + +.icofont-glue-oil:before +{ + content: "\e99e"; +} + +.icofont-hammer-alt:before +{ + content: "\e99f"; +} + +.icofont-hammer:before +{ + content: "\e9a0"; +} + +.icofont-help-robot:before +{ + content: "\e9a1"; +} + +.icofont-industries-1:before +{ + content: "\e9a2"; +} + +.icofont-industries-2:before +{ + content: "\e9a3"; +} + +.icofont-industries-3:before +{ + content: "\e9a4"; +} + +.icofont-industries-4:before +{ + content: "\e9a5"; +} + +.icofont-industries-5:before +{ + content: "\e9a6"; +} + +.icofont-industries:before +{ + content: "\e9a7"; +} + +.icofont-labour:before +{ + content: "\e9a8"; +} + +.icofont-mining:before +{ + content: "\e9a9"; +} + +.icofont-paint-brush:before +{ + content: "\e9aa"; +} + +.icofont-pollution:before +{ + content: "\e9ab"; +} + +.icofont-power-zone:before +{ + content: "\e9ac"; +} + +.icofont-radio-active:before +{ + content: "\e9ad"; +} + +.icofont-recycle-alt:before +{ + content: "\e9ae"; +} + +.icofont-recycling-man:before +{ + content: "\e9af"; +} + +.icofont-safety-hat-light:before +{ + content: "\e9b0"; +} + +.icofont-safety-hat:before +{ + content: "\e9b1"; +} + +.icofont-saw:before +{ + content: "\e9b2"; +} + +.icofont-screw-driver:before +{ + content: "\e9b3"; +} + +.icofont-tools-1:before +{ + content: "\e9b4"; +} + +.icofont-tools-bag:before +{ + content: "\e9b5"; +} + +.icofont-tow-truck:before +{ + content: "\e9b6"; +} + +.icofont-trolley:before +{ + content: "\e9b7"; +} + +.icofont-trowel:before +{ + content: "\e9b8"; +} + +.icofont-under-construction-alt:before +{ + content: "\e9b9"; +} + +.icofont-under-construction:before +{ + content: "\e9ba"; +} + +.icofont-vehicle-cement:before +{ + content: "\e9bb"; +} + +.icofont-vehicle-crane:before +{ + content: "\e9bc"; +} + +.icofont-vehicle-delivery-van:before +{ + content: "\e9bd"; +} + +.icofont-vehicle-dozer:before +{ + content: "\e9be"; +} + +.icofont-vehicle-excavator:before +{ + content: "\e9bf"; +} + +.icofont-vehicle-trucktor:before +{ + content: "\e9c0"; +} + +.icofont-vehicle-wrecking:before +{ + content: "\e9c1"; +} + +.icofont-worker:before +{ + content: "\e9c2"; +} + +.icofont-workers-group:before +{ + content: "\e9c3"; +} + +.icofont-wrench:before +{ + content: "\e9c4"; +} + +.icofont-afghani-false:before +{ + content: "\e9c5"; +} + +.icofont-afghani-minus:before +{ + content: "\e9c6"; +} + +.icofont-afghani-plus:before +{ + content: "\e9c7"; +} + +.icofont-afghani-true:before +{ + content: "\e9c8"; +} + +.icofont-afghani:before +{ + content: "\e9c9"; +} + +.icofont-baht-false:before +{ + content: "\e9ca"; +} + +.icofont-baht-minus:before +{ + content: "\e9cb"; +} + +.icofont-baht-plus:before +{ + content: "\e9cc"; +} + +.icofont-baht-true:before +{ + content: "\e9cd"; +} + +.icofont-baht:before +{ + content: "\e9ce"; +} + +.icofont-bitcoin-false:before +{ + content: "\e9cf"; +} + +.icofont-bitcoin-minus:before +{ + content: "\e9d0"; +} + +.icofont-bitcoin-plus:before +{ + content: "\e9d1"; +} + +.icofont-bitcoin-true:before +{ + content: "\e9d2"; +} + +.icofont-bitcoin:before +{ + content: "\e9d3"; +} + +.icofont-dollar-flase:before +{ + content: "\e9d4"; +} + +.icofont-dollar-minus:before +{ + content: "\e9d5"; +} + +.icofont-dollar-plus:before +{ + content: "\e9d6"; +} + +.icofont-dollar-true:before +{ + content: "\e9d7"; +} + +.icofont-dollar:before +{ + content: "\e9d8"; +} + +.icofont-dong-false:before +{ + content: "\e9d9"; +} + +.icofont-dong-minus:before +{ + content: "\e9da"; +} + +.icofont-dong-plus:before +{ + content: "\e9db"; +} + +.icofont-dong-true:before +{ + content: "\e9dc"; +} + +.icofont-dong:before +{ + content: "\e9dd"; +} + +.icofont-euro-false:before +{ + content: "\e9de"; +} + +.icofont-euro-minus:before +{ + content: "\e9df"; +} + +.icofont-euro-plus:before +{ + content: "\e9e0"; +} + +.icofont-euro-true:before +{ + content: "\e9e1"; +} + +.icofont-euro:before +{ + content: "\e9e2"; +} + +.icofont-frank-false:before +{ + content: "\e9e3"; +} + +.icofont-frank-minus:before +{ + content: "\e9e4"; +} + +.icofont-frank-plus:before +{ + content: "\e9e5"; +} + +.icofont-frank-true:before +{ + content: "\e9e6"; +} + +.icofont-frank:before +{ + content: "\e9e7"; +} + +.icofont-hryvnia-false:before +{ + content: "\e9e8"; +} + +.icofont-hryvnia-minus:before +{ + content: "\e9e9"; +} + +.icofont-hryvnia-plus:before +{ + content: "\e9ea"; +} + +.icofont-hryvnia-true:before +{ + content: "\e9eb"; +} + +.icofont-hryvnia:before +{ + content: "\e9ec"; +} + +.icofont-lira-false:before +{ + content: "\e9ed"; +} + +.icofont-lira-minus:before +{ + content: "\e9ee"; +} + +.icofont-lira-plus:before +{ + content: "\e9ef"; +} + +.icofont-lira-true:before +{ + content: "\e9f0"; +} + +.icofont-lira:before +{ + content: "\e9f1"; +} + +.icofont-peseta-false:before +{ + content: "\e9f2"; +} + +.icofont-peseta-minus:before +{ + content: "\e9f3"; +} + +.icofont-peseta-plus:before +{ + content: "\e9f4"; +} + +.icofont-peseta-true:before +{ + content: "\e9f5"; +} + +.icofont-peseta:before +{ + content: "\e9f6"; +} + +.icofont-peso-false:before +{ + content: "\e9f7"; +} + +.icofont-peso-minus:before +{ + content: "\e9f8"; +} + +.icofont-peso-plus:before +{ + content: "\e9f9"; +} + +.icofont-peso-true:before +{ + content: "\e9fa"; +} + +.icofont-peso:before +{ + content: "\e9fb"; +} + +.icofont-pound-false:before +{ + content: "\e9fc"; +} + +.icofont-pound-minus:before +{ + content: "\e9fd"; +} + +.icofont-pound-plus:before +{ + content: "\e9fe"; +} + +.icofont-pound-true:before +{ + content: "\e9ff"; +} + +.icofont-pound:before +{ + content: "\ea00"; +} + +.icofont-renminbi-false:before +{ + content: "\ea01"; +} + +.icofont-renminbi-minus:before +{ + content: "\ea02"; +} + +.icofont-renminbi-plus:before +{ + content: "\ea03"; +} + +.icofont-renminbi-true:before +{ + content: "\ea04"; +} + +.icofont-renminbi:before +{ + content: "\ea05"; +} + +.icofont-riyal-false:before +{ + content: "\ea06"; +} + +.icofont-riyal-minus:before +{ + content: "\ea07"; +} + +.icofont-riyal-plus:before +{ + content: "\ea08"; +} + +.icofont-riyal-true:before +{ + content: "\ea09"; +} + +.icofont-riyal:before +{ + content: "\ea0a"; +} + +.icofont-rouble-false:before +{ + content: "\ea0b"; +} + +.icofont-rouble-minus:before +{ + content: "\ea0c"; +} + +.icofont-rouble-plus:before +{ + content: "\ea0d"; +} + +.icofont-rouble-true:before +{ + content: "\ea0e"; +} + +.icofont-rouble:before +{ + content: "\ea0f"; +} + +.icofont-rupee-false:before +{ + content: "\ea10"; +} + +.icofont-rupee-minus:before +{ + content: "\ea11"; +} + +.icofont-rupee-plus:before +{ + content: "\ea12"; +} + +.icofont-rupee-true:before +{ + content: "\ea13"; +} + +.icofont-rupee:before +{ + content: "\ea14"; +} + +.icofont-taka-false:before +{ + content: "\ea15"; +} + +.icofont-taka-minus:before +{ + content: "\ea16"; +} + +.icofont-taka-plus:before +{ + content: "\ea17"; +} + +.icofont-taka-true:before +{ + content: "\ea18"; +} + +.icofont-taka:before +{ + content: "\ea19"; +} + +.icofont-turkish-lira-false:before +{ + content: "\ea1a"; +} + +.icofont-turkish-lira-minus:before +{ + content: "\ea1b"; +} + +.icofont-turkish-lira-plus:before +{ + content: "\ea1c"; +} + +.icofont-turkish-lira-true:before +{ + content: "\ea1d"; +} + +.icofont-turkish-lira:before +{ + content: "\ea1e"; +} + +.icofont-won-false:before +{ + content: "\ea1f"; +} + +.icofont-won-minus:before +{ + content: "\ea20"; +} + +.icofont-won-plus:before +{ + content: "\ea21"; +} + +.icofont-won-true:before +{ + content: "\ea22"; +} + +.icofont-won:before +{ + content: "\ea23"; +} + +.icofont-yen-false:before +{ + content: "\ea24"; +} + +.icofont-yen-minus:before +{ + content: "\ea25"; +} + +.icofont-yen-plus:before +{ + content: "\ea26"; +} + +.icofont-yen-true:before +{ + content: "\ea27"; +} + +.icofont-yen:before +{ + content: "\ea28"; +} + +.icofont-android-nexus:before +{ + content: "\ea29"; +} + +.icofont-android-tablet:before +{ + content: "\ea2a"; +} + +.icofont-apple-watch:before +{ + content: "\ea2b"; +} + +.icofont-drawing-tablet:before +{ + content: "\ea2c"; +} + +.icofont-earphone:before +{ + content: "\ea2d"; +} + +.icofont-flash-drive:before +{ + content: "\ea2e"; +} + +.icofont-game-console:before +{ + content: "\ea2f"; +} + +.icofont-game-controller:before +{ + content: "\ea30"; +} + +.icofont-game-pad:before +{ + content: "\ea31"; +} + +.icofont-game:before +{ + content: "\ea32"; +} + +.icofont-headphone-alt-1:before +{ + content: "\ea33"; +} + +.icofont-headphone-alt-2:before +{ + content: "\ea34"; +} + +.icofont-headphone-alt-3:before +{ + content: "\ea35"; +} + +.icofont-headphone-alt:before +{ + content: "\ea36"; +} + +.icofont-headphone:before +{ + content: "\ea37"; +} + +.icofont-htc-one:before +{ + content: "\ea38"; +} + +.icofont-imac:before +{ + content: "\ea39"; +} + +.icofont-ipad:before +{ + content: "\ea3a"; +} + +.icofont-iphone:before +{ + content: "\ea3b"; +} + +.icofont-ipod-nano:before +{ + content: "\ea3c"; +} + +.icofont-ipod-touch:before +{ + content: "\ea3d"; +} + +.icofont-keyboard-alt:before +{ + content: "\ea3e"; +} + +.icofont-keyboard-wireless:before +{ + content: "\ea3f"; +} + +.icofont-keyboard:before +{ + content: "\ea40"; +} + +.icofont-laptop-alt:before +{ + content: "\ea41"; +} + +.icofont-laptop:before +{ + content: "\ea42"; +} + +.icofont-macbook:before +{ + content: "\ea43"; +} + +.icofont-magic-mouse:before +{ + content: "\ea44"; +} + +.icofont-micro-chip:before +{ + content: "\ea45"; +} + +.icofont-microphone-alt:before +{ + content: "\ea46"; +} + +.icofont-microphone:before +{ + content: "\ea47"; +} + +.icofont-monitor:before +{ + content: "\ea48"; +} + +.icofont-mouse:before +{ + content: "\ea49"; +} + +.icofont-mp3-player:before +{ + content: "\ea4a"; +} + +.icofont-nintendo:before +{ + content: "\ea4b"; +} + +.icofont-playstation-alt:before +{ + content: "\ea4c"; +} + +.icofont-psvita:before +{ + content: "\ea4d"; +} + +.icofont-radio-mic:before +{ + content: "\ea4e"; +} + +.icofont-radio:before +{ + content: "\ea4f"; +} + +.icofont-refrigerator:before +{ + content: "\ea50"; +} + +.icofont-samsung-galaxy:before +{ + content: "\ea51"; +} + +.icofont-surface-tablet:before +{ + content: "\ea52"; +} + +.icofont-ui-head-phone:before +{ + content: "\ea53"; +} + +.icofont-ui-keyboard:before +{ + content: "\ea54"; +} + +.icofont-washing-machine:before +{ + content: "\ea55"; +} + +.icofont-wifi-router:before +{ + content: "\ea56"; +} + +.icofont-wii-u:before +{ + content: "\ea57"; +} + +.icofont-windows-lumia:before +{ + content: "\ea58"; +} + +.icofont-wireless-mouse:before +{ + content: "\ea59"; +} + +.icofont-xbox-360:before +{ + content: "\ea5a"; +} + +.icofont-arrow-down:before +{ + content: "\ea5b"; +} + +.icofont-arrow-left:before +{ + content: "\ea5c"; +} + +.icofont-arrow-right:before +{ + content: "\ea5d"; +} + +.icofont-arrow-up:before +{ + content: "\ea5e"; +} + +.icofont-block-down:before +{ + content: "\ea5f"; +} + +.icofont-block-left:before +{ + content: "\ea60"; +} + +.icofont-block-right:before +{ + content: "\ea61"; +} + +.icofont-block-up:before +{ + content: "\ea62"; +} + +.icofont-bubble-down:before +{ + content: "\ea63"; +} + +.icofont-bubble-left:before +{ + content: "\ea64"; +} + +.icofont-bubble-right:before +{ + content: "\ea65"; +} + +.icofont-bubble-up:before +{ + content: "\ea66"; +} + +.icofont-caret-down:before +{ + content: "\ea67"; +} + +.icofont-caret-left:before +{ + content: "\ea68"; +} + +.icofont-caret-right:before +{ + content: "\ea69"; +} + +.icofont-caret-up:before +{ + content: "\ea6a"; +} + +.icofont-circled-down:before +{ + content: "\ea6b"; +} + +.icofont-circled-left:before +{ + content: "\ea6c"; +} + +.icofont-circled-right:before +{ + content: "\ea6d"; +} + +.icofont-circled-up:before +{ + content: "\ea6e"; +} + +.icofont-collapse:before +{ + content: "\ea6f"; +} + +.icofont-cursor-drag:before +{ + content: "\ea70"; +} + +.icofont-curved-double-left:before +{ + content: "\ea71"; +} + +.icofont-curved-double-right:before +{ + content: "\ea72"; +} + +.icofont-curved-down:before +{ + content: "\ea73"; +} + +.icofont-curved-left:before +{ + content: "\ea74"; +} + +.icofont-curved-right:before +{ + content: "\ea75"; +} + +.icofont-curved-up:before +{ + content: "\ea76"; +} + +.icofont-dotted-down:before +{ + content: "\ea77"; +} + +.icofont-dotted-left:before +{ + content: "\ea78"; +} + +.icofont-dotted-right:before +{ + content: "\ea79"; +} + +.icofont-dotted-up:before +{ + content: "\ea7a"; +} + +.icofont-double-left:before +{ + content: "\ea7b"; +} + +.icofont-double-right:before +{ + content: "\ea7c"; +} + +.icofont-expand-alt:before +{ + content: "\ea7d"; +} + +.icofont-hand-down:before +{ + content: "\ea7e"; +} + +.icofont-hand-drag:before +{ + content: "\ea7f"; +} + +.icofont-hand-drag1:before +{ + content: "\ea80"; +} + +.icofont-hand-drag2:before +{ + content: "\ea81"; +} + +.icofont-hand-drawn-alt-down:before +{ + content: "\ea82"; +} + +.icofont-hand-drawn-alt-left:before +{ + content: "\ea83"; +} + +.icofont-hand-drawn-alt-right:before +{ + content: "\ea84"; +} + +.icofont-hand-drawn-alt-up:before +{ + content: "\ea85"; +} + +.icofont-hand-drawn-down:before +{ + content: "\ea86"; +} + +.icofont-hand-drawn-left:before +{ + content: "\ea87"; +} + +.icofont-hand-drawn-right:before +{ + content: "\ea88"; +} + +.icofont-hand-drawn-up:before +{ + content: "\ea89"; +} + +.icofont-hand-grippers:before +{ + content: "\ea8a"; +} + +.icofont-hand-left:before +{ + content: "\ea8b"; +} + +.icofont-hand-right:before +{ + content: "\ea8c"; +} + +.icofont-hand-up:before +{ + content: "\ea8d"; +} + +.icofont-line-block-down:before +{ + content: "\ea8e"; +} + +.icofont-line-block-left:before +{ + content: "\ea8f"; +} + +.icofont-line-block-right:before +{ + content: "\ea90"; +} + +.icofont-line-block-up:before +{ + content: "\ea91"; +} + +.icofont-long-arrow-down:before +{ + content: "\ea92"; +} + +.icofont-long-arrow-left:before +{ + content: "\ea93"; +} + +.icofont-long-arrow-right:before +{ + content: "\ea94"; +} + +.icofont-long-arrow-up:before +{ + content: "\ea95"; +} + +.icofont-rounded-collapse:before +{ + content: "\ea96"; +} + +.icofont-rounded-double-left:before +{ + content: "\ea97"; +} + +.icofont-rounded-double-right:before +{ + content: "\ea98"; +} + +.icofont-rounded-down:before +{ + content: "\ea99"; +} + +.icofont-rounded-expand:before +{ + content: "\ea9a"; +} + +.icofont-rounded-left-down:before +{ + content: "\ea9b"; +} + +.icofont-rounded-left-up:before +{ + content: "\ea9c"; +} + +.icofont-rounded-left:before +{ + content: "\ea9d"; +} + +.icofont-rounded-right-down:before +{ + content: "\ea9e"; +} + +.icofont-rounded-right-up:before +{ + content: "\ea9f"; +} + +.icofont-rounded-right:before +{ + content: "\eaa0"; +} + +.icofont-rounded-up:before +{ + content: "\eaa1"; +} + +.icofont-scroll-bubble-down:before +{ + content: "\eaa2"; +} + +.icofont-scroll-bubble-left:before +{ + content: "\eaa3"; +} + +.icofont-scroll-bubble-right:before +{ + content: "\eaa4"; +} + +.icofont-scroll-bubble-up:before +{ + content: "\eaa5"; +} + +.icofont-scroll-double-down:before +{ + content: "\eaa6"; +} + +.icofont-scroll-double-left:before +{ + content: "\eaa7"; +} + +.icofont-scroll-double-right:before +{ + content: "\eaa8"; +} + +.icofont-scroll-double-up:before +{ + content: "\eaa9"; +} + +.icofont-scroll-down:before +{ + content: "\eaaa"; +} + +.icofont-scroll-left:before +{ + content: "\eaab"; +} + +.icofont-scroll-long-down:before +{ + content: "\eaac"; +} + +.icofont-scroll-long-left:before +{ + content: "\eaad"; +} + +.icofont-scroll-long-right:before +{ + content: "\eaae"; +} + +.icofont-scroll-long-up:before +{ + content: "\eaaf"; +} + +.icofont-scroll-right:before +{ + content: "\eab0"; +} + +.icofont-scroll-up:before +{ + content: "\eab1"; +} + +.icofont-simple-down:before +{ + content: "\eab2"; +} + +.icofont-simple-left-down:before +{ + content: "\eab3"; +} + +.icofont-simple-left-up:before +{ + content: "\eab4"; +} + +.icofont-simple-left:before +{ + content: "\eab5"; +} + +.icofont-simple-right-down:before +{ + content: "\eab6"; +} + +.icofont-simple-right-up:before +{ + content: "\eab7"; +} + +.icofont-simple-right:before +{ + content: "\eab8"; +} + +.icofont-simple-up:before +{ + content: "\eab9"; +} + +.icofont-square-down:before +{ + content: "\eaba"; +} + +.icofont-square-left:before +{ + content: "\eabb"; +} + +.icofont-square-right:before +{ + content: "\eabc"; +} + +.icofont-square-up:before +{ + content: "\eabd"; +} + +.icofont-stylish-down:before +{ + content: "\eabe"; +} + +.icofont-stylish-left:before +{ + content: "\eabf"; +} + +.icofont-stylish-right:before +{ + content: "\eac0"; +} + +.icofont-stylish-up:before +{ + content: "\eac1"; +} + +.icofont-swoosh-down:before +{ + content: "\eac2"; +} + +.icofont-swoosh-left:before +{ + content: "\eac3"; +} + +.icofont-swoosh-right:before +{ + content: "\eac4"; +} + +.icofont-swoosh-up:before +{ + content: "\eac5"; +} + +.icofont-thin-double-left:before +{ + content: "\eac6"; +} + +.icofont-thin-double-right:before +{ + content: "\eac7"; +} + +.icofont-thin-down:before +{ + content: "\eac8"; +} + +.icofont-thin-left:before +{ + content: "\eac9"; +} + +.icofont-thin-right:before +{ + content: "\eaca"; +} + +.icofont-thin-up:before +{ + content: "\eacb"; +} + +.icofont-abc:before +{ + content: "\eacc"; +} + +.icofont-atom:before +{ + content: "\eacd"; +} + +.icofont-award:before +{ + content: "\eace"; +} + +.icofont-bell-alt:before +{ + content: "\eacf"; +} + +.icofont-black-board:before +{ + content: "\ead0"; +} + +.icofont-book-alt:before +{ + content: "\ead1"; +} + +.icofont-book:before +{ + content: "\ead2"; +} + +.icofont-brainstorming:before +{ + content: "\ead3"; +} + +.icofont-certificate-alt-1:before +{ + content: "\ead4"; +} + +.icofont-certificate-alt-2:before +{ + content: "\ead5"; +} + +.icofont-certificate:before +{ + content: "\ead6"; +} + +.icofont-education:before +{ + content: "\ead7"; +} + +.icofont-electron:before +{ + content: "\ead8"; +} + +.icofont-fountain-pen:before +{ + content: "\ead9"; +} + +.icofont-globe-alt:before +{ + content: "\eada"; +} + +.icofont-graduate-alt:before +{ + content: "\eadb"; +} + +.icofont-graduate:before +{ + content: "\eadc"; +} + +.icofont-group-students:before +{ + content: "\eadd"; +} + +.icofont-hat-alt:before +{ + content: "\eade"; +} + +.icofont-hat:before +{ + content: "\eadf"; +} + +.icofont-instrument:before +{ + content: "\eae0"; +} + +.icofont-lamp-light:before +{ + content: "\eae1"; +} + +.icofont-medal:before +{ + content: "\eae2"; +} + +.icofont-microscope-alt:before +{ + content: "\eae3"; +} + +.icofont-microscope:before +{ + content: "\eae4"; +} + +.icofont-paper:before +{ + content: "\eae5"; +} + +.icofont-pen-alt-4:before +{ + content: "\eae6"; +} + +.icofont-pen-nib:before +{ + content: "\eae7"; +} + +.icofont-pencil-alt-5:before +{ + content: "\eae8"; +} + +.icofont-quill-pen:before +{ + content: "\eae9"; +} + +.icofont-read-book-alt:before +{ + content: "\eaea"; +} + +.icofont-read-book:before +{ + content: "\eaeb"; +} + +.icofont-school-bag:before +{ + content: "\eaec"; +} + +.icofont-school-bus:before +{ + content: "\eaed"; +} + +.icofont-student-alt:before +{ + content: "\eaee"; +} + +.icofont-student:before +{ + content: "\eaef"; +} + +.icofont-teacher:before +{ + content: "\eaf0"; +} + +.icofont-test-bulb:before +{ + content: "\eaf1"; +} + +.icofont-test-tube-alt:before +{ + content: "\eaf2"; +} + +.icofont-university:before +{ + content: "\eaf3"; +} + +.icofont-angry:before +{ + content: "\eaf4"; +} + +.icofont-astonished:before +{ + content: "\eaf5"; +} + +.icofont-confounded:before +{ + content: "\eaf6"; +} + +.icofont-confused:before +{ + content: "\eaf7"; +} + +.icofont-crying:before +{ + content: "\eaf8"; +} + +.icofont-dizzy:before +{ + content: "\eaf9"; +} + +.icofont-expressionless:before +{ + content: "\eafa"; +} + +.icofont-heart-eyes:before +{ + content: "\eafb"; +} + +.icofont-laughing:before +{ + content: "\eafc"; +} + +.icofont-nerd-smile:before +{ + content: "\eafd"; +} + +.icofont-open-mouth:before +{ + content: "\eafe"; +} + +.icofont-rage:before +{ + content: "\eaff"; +} + +.icofont-rolling-eyes:before +{ + content: "\eb00"; +} + +.icofont-sad:before +{ + content: "\eb01"; +} + +.icofont-simple-smile:before +{ + content: "\eb02"; +} + +.icofont-slightly-smile:before +{ + content: "\eb03"; +} + +.icofont-smirk:before +{ + content: "\eb04"; +} + +.icofont-stuck-out-tongue:before +{ + content: "\eb05"; +} + +.icofont-wink-smile:before +{ + content: "\eb06"; +} + +.icofont-worried:before +{ + content: "\eb07"; +} + +.icofont-file-alt:before +{ + content: "\eb08"; +} + +.icofont-file-audio:before +{ + content: "\eb09"; +} + +.icofont-file-avi-mp4:before +{ + content: "\eb0a"; +} + +.icofont-file-bmp:before +{ + content: "\eb0b"; +} + +.icofont-file-code:before +{ + content: "\eb0c"; +} + +.icofont-file-css:before +{ + content: "\eb0d"; +} + +.icofont-file-document:before +{ + content: "\eb0e"; +} + +.icofont-file-eps:before +{ + content: "\eb0f"; +} + +.icofont-file-excel:before +{ + content: "\eb10"; +} + +.icofont-file-exe:before +{ + content: "\eb11"; +} + +.icofont-file-file:before +{ + content: "\eb12"; +} + +.icofont-file-flv:before +{ + content: "\eb13"; +} + +.icofont-file-gif:before +{ + content: "\eb14"; +} + +.icofont-file-html5:before +{ + content: "\eb15"; +} + +.icofont-file-image:before +{ + content: "\eb16"; +} + +.icofont-file-iso:before +{ + content: "\eb17"; +} + +.icofont-file-java:before +{ + content: "\eb18"; +} + +.icofont-file-javascript:before +{ + content: "\eb19"; +} + +.icofont-file-jpg:before +{ + content: "\eb1a"; +} + +.icofont-file-midi:before +{ + content: "\eb1b"; +} + +.icofont-file-mov:before +{ + content: "\eb1c"; +} + +.icofont-file-mp3:before +{ + content: "\eb1d"; +} + +.icofont-file-pdf:before +{ + content: "\eb1e"; +} + +.icofont-file-php:before +{ + content: "\eb1f"; +} + +.icofont-file-png:before +{ + content: "\eb20"; +} + +.icofont-file-powerpoint:before +{ + content: "\eb21"; +} + +.icofont-file-presentation:before +{ + content: "\eb22"; +} + +.icofont-file-psb:before +{ + content: "\eb23"; +} + +.icofont-file-psd:before +{ + content: "\eb24"; +} + +.icofont-file-python:before +{ + content: "\eb25"; +} + +.icofont-file-ruby:before +{ + content: "\eb26"; +} + +.icofont-file-spreadsheet:before +{ + content: "\eb27"; +} + +.icofont-file-sql:before +{ + content: "\eb28"; +} + +.icofont-file-svg:before +{ + content: "\eb29"; +} + +.icofont-file-text:before +{ + content: "\eb2a"; +} + +.icofont-file-tiff:before +{ + content: "\eb2b"; +} + +.icofont-file-video:before +{ + content: "\eb2c"; +} + +.icofont-file-wave:before +{ + content: "\eb2d"; +} + +.icofont-file-wmv:before +{ + content: "\eb2e"; +} + +.icofont-file-word:before +{ + content: "\eb2f"; +} + +.icofont-file-zip:before +{ + content: "\eb30"; +} + +.icofont-cycling-alt:before +{ + content: "\eb31"; +} + +.icofont-cycling:before +{ + content: "\eb32"; +} + +.icofont-dumbbell:before +{ + content: "\eb33"; +} + +.icofont-dumbbells:before +{ + content: "\eb34"; +} + +.icofont-gym-alt-1:before +{ + content: "\eb35"; +} + +.icofont-gym-alt-2:before +{ + content: "\eb36"; +} + +.icofont-gym-alt-3:before +{ + content: "\eb37"; +} + +.icofont-gym:before +{ + content: "\eb38"; +} + +.icofont-muscle-weight:before +{ + content: "\eb39"; +} + +.icofont-muscle:before +{ + content: "\eb3a"; +} + +.icofont-apple:before +{ + content: "\eb3b"; +} + +.icofont-arabian-coffee:before +{ + content: "\eb3c"; +} + +.icofont-artichoke:before +{ + content: "\eb3d"; +} + +.icofont-asparagus:before +{ + content: "\eb3e"; +} + +.icofont-avocado:before +{ + content: "\eb3f"; +} + +.icofont-baby-food:before +{ + content: "\eb40"; +} + +.icofont-banana:before +{ + content: "\eb41"; +} + +.icofont-bbq:before +{ + content: "\eb42"; +} + +.icofont-beans:before +{ + content: "\eb43"; +} + +.icofont-beer:before +{ + content: "\eb44"; +} + +.icofont-bell-pepper-capsicum:before +{ + content: "\eb45"; +} + +.icofont-birthday-cake:before +{ + content: "\eb46"; +} + +.icofont-bread:before +{ + content: "\eb47"; +} + +.icofont-broccoli:before +{ + content: "\eb48"; +} + +.icofont-burger:before +{ + content: "\eb49"; +} + +.icofont-cabbage:before +{ + content: "\eb4a"; +} + +.icofont-carrot:before +{ + content: "\eb4b"; +} + +.icofont-cauli-flower:before +{ + content: "\eb4c"; +} + +.icofont-cheese:before +{ + content: "\eb4d"; +} + +.icofont-chef:before +{ + content: "\eb4e"; +} + +.icofont-cherry:before +{ + content: "\eb4f"; +} + +.icofont-chicken-fry:before +{ + content: "\eb50"; +} + +.icofont-chicken:before +{ + content: "\eb51"; +} + +.icofont-cocktail:before +{ + content: "\eb52"; +} + +.icofont-coconut-water:before +{ + content: "\eb53"; +} + +.icofont-coconut:before +{ + content: "\eb54"; +} + +.icofont-coffee-alt:before +{ + content: "\eb55"; +} + +.icofont-coffee-cup:before +{ + content: "\eb56"; +} + +.icofont-coffee-mug:before +{ + content: "\eb57"; +} + +.icofont-coffee-pot:before +{ + content: "\eb58"; +} + +.icofont-cola:before +{ + content: "\eb59"; +} + +.icofont-corn:before +{ + content: "\eb5a"; +} + +.icofont-croissant:before +{ + content: "\eb5b"; +} + +.icofont-crop-plant:before +{ + content: "\eb5c"; +} + +.icofont-cucumber:before +{ + content: "\eb5d"; +} + +.icofont-culinary:before +{ + content: "\eb5e"; +} + +.icofont-cup-cake:before +{ + content: "\eb5f"; +} + +.icofont-dining-table:before +{ + content: "\eb60"; +} + +.icofont-donut:before +{ + content: "\eb61"; +} + +.icofont-egg-plant:before +{ + content: "\eb62"; +} + +.icofont-egg-poached:before +{ + content: "\eb63"; +} + +.icofont-farmer-alt:before +{ + content: "\eb64"; +} + +.icofont-farmer:before +{ + content: "\eb65"; +} + +.icofont-fast-food:before +{ + content: "\eb66"; +} + +.icofont-food-basket:before +{ + content: "\eb67"; +} + +.icofont-food-cart:before +{ + content: "\eb68"; +} + +.icofont-fork-and-knife:before +{ + content: "\eb69"; +} + +.icofont-french-fries:before +{ + content: "\eb6a"; +} + +.icofont-fruits:before +{ + content: "\eb6b"; +} + +.icofont-grapes:before +{ + content: "\eb6c"; +} + +.icofont-honey:before +{ + content: "\eb6d"; +} + +.icofont-hot-dog:before +{ + content: "\eb6e"; +} + +.icofont-ice-cream-alt:before +{ + content: "\eb6f"; +} + +.icofont-ice-cream:before +{ + content: "\eb70"; +} + +.icofont-juice:before +{ + content: "\eb71"; +} + +.icofont-ketchup:before +{ + content: "\eb72"; +} + +.icofont-kiwi:before +{ + content: "\eb73"; +} + +.icofont-layered-cake:before +{ + content: "\eb74"; +} + +.icofont-lemon-alt:before +{ + content: "\eb75"; +} + +.icofont-lemon:before +{ + content: "\eb76"; +} + +.icofont-lobster:before +{ + content: "\eb77"; +} + +.icofont-mango:before +{ + content: "\eb78"; +} + +.icofont-milk:before +{ + content: "\eb79"; +} + +.icofont-mushroom:before +{ + content: "\eb7a"; +} + +.icofont-noodles:before +{ + content: "\eb7b"; +} + +.icofont-onion:before +{ + content: "\eb7c"; +} + +.icofont-orange:before +{ + content: "\eb7d"; +} + +.icofont-pear:before +{ + content: "\eb7e"; +} + +.icofont-peas:before +{ + content: "\eb7f"; +} + +.icofont-pepper:before +{ + content: "\eb80"; +} + +.icofont-pie-alt:before +{ + content: "\eb81"; +} + +.icofont-pie:before +{ + content: "\eb82"; +} + +.icofont-pineapple:before +{ + content: "\eb83"; +} + +.icofont-pizza-slice:before +{ + content: "\eb84"; +} + +.icofont-pizza:before +{ + content: "\eb85"; +} + +.icofont-plant:before +{ + content: "\eb86"; +} + +.icofont-popcorn:before +{ + content: "\eb87"; +} + +.icofont-potato:before +{ + content: "\eb88"; +} + +.icofont-pumpkin:before +{ + content: "\eb89"; +} + +.icofont-raddish:before +{ + content: "\eb8a"; +} + +.icofont-restaurant-menu:before +{ + content: "\eb8b"; +} + +.icofont-restaurant:before +{ + content: "\eb8c"; +} + +.icofont-salt-and-pepper:before +{ + content: "\eb8d"; +} + +.icofont-sandwich:before +{ + content: "\eb8e"; +} + +.icofont-sausage:before +{ + content: "\eb8f"; +} + +.icofont-soft-drinks:before +{ + content: "\eb90"; +} + +.icofont-soup-bowl:before +{ + content: "\eb91"; +} + +.icofont-spoon-and-fork:before +{ + content: "\eb92"; +} + +.icofont-steak:before +{ + content: "\eb93"; +} + +.icofont-strawberry:before +{ + content: "\eb94"; +} + +.icofont-sub-sandwich:before +{ + content: "\eb95"; +} + +.icofont-sushi:before +{ + content: "\eb96"; +} + +.icofont-taco:before +{ + content: "\eb97"; +} + +.icofont-tea-pot:before +{ + content: "\eb98"; +} + +.icofont-tea:before +{ + content: "\eb99"; +} + +.icofont-tomato:before +{ + content: "\eb9a"; +} + +.icofont-watermelon:before +{ + content: "\eb9b"; +} + +.icofont-wheat:before +{ + content: "\eb9c"; +} + +.icofont-baby-backpack:before +{ + content: "\eb9d"; +} + +.icofont-baby-cloth:before +{ + content: "\eb9e"; +} + +.icofont-baby-milk-bottle:before +{ + content: "\eb9f"; +} + +.icofont-baby-trolley:before +{ + content: "\eba0"; +} + +.icofont-baby:before +{ + content: "\eba1"; +} + +.icofont-candy:before +{ + content: "\eba2"; +} + +.icofont-holding-hands:before +{ + content: "\eba3"; +} + +.icofont-infant-nipple:before +{ + content: "\eba4"; +} + +.icofont-kids-scooter:before +{ + content: "\eba5"; +} + +.icofont-safety-pin:before +{ + content: "\eba6"; +} + +.icofont-teddy-bear:before +{ + content: "\eba7"; +} + +.icofont-toy-ball:before +{ + content: "\eba8"; +} + +.icofont-toy-cat:before +{ + content: "\eba9"; +} + +.icofont-toy-duck:before +{ + content: "\ebaa"; +} + +.icofont-toy-elephant:before +{ + content: "\ebab"; +} + +.icofont-toy-hand:before +{ + content: "\ebac"; +} + +.icofont-toy-horse:before +{ + content: "\ebad"; +} + +.icofont-toy-lattu:before +{ + content: "\ebae"; +} + +.icofont-toy-train:before +{ + content: "\ebaf"; +} + +.icofont-burglar:before +{ + content: "\ebb0"; +} + +.icofont-cannon-firing:before +{ + content: "\ebb1"; +} + +.icofont-cc-camera:before +{ + content: "\ebb2"; +} + +.icofont-cop-badge:before +{ + content: "\ebb3"; +} + +.icofont-cop:before +{ + content: "\ebb4"; +} + +.icofont-court-hammer:before +{ + content: "\ebb5"; +} + +.icofont-court:before +{ + content: "\ebb6"; +} + +.icofont-finger-print:before +{ + content: "\ebb7"; +} + +.icofont-gavel:before +{ + content: "\ebb8"; +} + +.icofont-handcuff-alt:before +{ + content: "\ebb9"; +} + +.icofont-handcuff:before +{ + content: "\ebba"; +} + +.icofont-investigation:before +{ + content: "\ebbb"; +} + +.icofont-investigator:before +{ + content: "\ebbc"; +} + +.icofont-jail:before +{ + content: "\ebbd"; +} + +.icofont-judge:before +{ + content: "\ebbe"; +} + +.icofont-law-alt-1:before +{ + content: "\ebbf"; +} + +.icofont-law-alt-2:before +{ + content: "\ebc0"; +} + +.icofont-law-alt-3:before +{ + content: "\ebc1"; +} + +.icofont-law-book:before +{ + content: "\ebc2"; +} + +.icofont-law-document:before +{ + content: "\ebc3"; +} + +.icofont-law-order:before +{ + content: "\ebc4"; +} + +.icofont-law-protect:before +{ + content: "\ebc5"; +} + +.icofont-law-scales:before +{ + content: "\ebc6"; +} + +.icofont-law:before +{ + content: "\ebc7"; +} + +.icofont-lawyer-alt-1:before +{ + content: "\ebc8"; +} + +.icofont-lawyer-alt-2:before +{ + content: "\ebc9"; +} + +.icofont-lawyer:before +{ + content: "\ebca"; +} + +.icofont-legal:before +{ + content: "\ebcb"; +} + +.icofont-pistol:before +{ + content: "\ebcc"; +} + +.icofont-police-badge:before +{ + content: "\ebcd"; +} + +.icofont-police-cap:before +{ + content: "\ebce"; +} + +.icofont-police-car-alt-1:before +{ + content: "\ebcf"; +} + +.icofont-police-car-alt-2:before +{ + content: "\ebd0"; +} + +.icofont-police-car:before +{ + content: "\ebd1"; +} + +.icofont-police-hat:before +{ + content: "\ebd2"; +} + +.icofont-police-van:before +{ + content: "\ebd3"; +} + +.icofont-police:before +{ + content: "\ebd4"; +} + +.icofont-thief-alt:before +{ + content: "\ebd5"; +} + +.icofont-thief:before +{ + content: "\ebd6"; +} + +.icofont-abacus-alt:before +{ + content: "\ebd7"; +} + +.icofont-abacus:before +{ + content: "\ebd8"; +} + +.icofont-angle-180:before +{ + content: "\ebd9"; +} + +.icofont-angle-45:before +{ + content: "\ebda"; +} + +.icofont-angle-90:before +{ + content: "\ebdb"; +} + +.icofont-angle:before +{ + content: "\ebdc"; +} + +.icofont-calculator-alt-1:before +{ + content: "\ebdd"; +} + +.icofont-calculator-alt-2:before +{ + content: "\ebde"; +} + +.icofont-calculator:before +{ + content: "\ebdf"; +} + +.icofont-circle-ruler-alt:before +{ + content: "\ebe0"; +} + +.icofont-circle-ruler:before +{ + content: "\ebe1"; +} + +.icofont-compass-alt-1:before +{ + content: "\ebe2"; +} + +.icofont-compass-alt-2:before +{ + content: "\ebe3"; +} + +.icofont-compass-alt-3:before +{ + content: "\ebe4"; +} + +.icofont-compass-alt-4:before +{ + content: "\ebe5"; +} + +.icofont-golden-ratio:before +{ + content: "\ebe6"; +} + +.icofont-marker-alt-1:before +{ + content: "\ebe7"; +} + +.icofont-marker-alt-2:before +{ + content: "\ebe8"; +} + +.icofont-marker-alt-3:before +{ + content: "\ebe9"; +} + +.icofont-marker:before +{ + content: "\ebea"; +} + +.icofont-math:before +{ + content: "\ebeb"; +} + +.icofont-mathematical-alt-1:before +{ + content: "\ebec"; +} + +.icofont-mathematical-alt-2:before +{ + content: "\ebed"; +} + +.icofont-mathematical:before +{ + content: "\ebee"; +} + +.icofont-pen-alt-1:before +{ + content: "\ebef"; +} + +.icofont-pen-alt-2:before +{ + content: "\ebf0"; +} + +.icofont-pen-alt-3:before +{ + content: "\ebf1"; +} + +.icofont-pen-holder-alt-1:before +{ + content: "\ebf2"; +} + +.icofont-pen-holder:before +{ + content: "\ebf3"; +} + +.icofont-pen:before +{ + content: "\ebf4"; +} + +.icofont-pencil-alt-1:before +{ + content: "\ebf5"; +} + +.icofont-pencil-alt-2:before +{ + content: "\ebf6"; +} + +.icofont-pencil-alt-3:before +{ + content: "\ebf7"; +} + +.icofont-pencil-alt-4:before +{ + content: "\ebf8"; +} + +.icofont-pencil:before +{ + content: "\ebf9"; +} + +.icofont-ruler-alt-1:before +{ + content: "\ebfa"; +} + +.icofont-ruler-alt-2:before +{ + content: "\ebfb"; +} + +.icofont-ruler-compass-alt:before +{ + content: "\ebfc"; +} + +.icofont-ruler-compass:before +{ + content: "\ebfd"; +} + +.icofont-ruler-pencil-alt-1:before +{ + content: "\ebfe"; +} + +.icofont-ruler-pencil-alt-2:before +{ + content: "\ebff"; +} + +.icofont-ruler-pencil:before +{ + content: "\ec00"; +} + +.icofont-ruler:before +{ + content: "\ec01"; +} + +.icofont-rulers-alt:before +{ + content: "\ec02"; +} + +.icofont-rulers:before +{ + content: "\ec03"; +} + +.icofont-square-root:before +{ + content: "\ec04"; +} + +.icofont-ui-calculator:before +{ + content: "\ec05"; +} + +.icofont-aids:before +{ + content: "\ec06"; +} + +.icofont-ambulance-crescent:before +{ + content: "\ec07"; +} + +.icofont-ambulance-cross:before +{ + content: "\ec08"; +} + +.icofont-ambulance:before +{ + content: "\ec09"; +} + +.icofont-autism:before +{ + content: "\ec0a"; +} + +.icofont-bandage:before +{ + content: "\ec0b"; +} + +.icofont-blind:before +{ + content: "\ec0c"; +} + +.icofont-blood-drop:before +{ + content: "\ec0d"; +} + +.icofont-blood-test:before +{ + content: "\ec0e"; +} + +.icofont-blood:before +{ + content: "\ec0f"; +} + +.icofont-brain-alt:before +{ + content: "\ec10"; +} + +.icofont-brain:before +{ + content: "\ec11"; +} + +.icofont-capsule:before +{ + content: "\ec12"; +} + +.icofont-crutch:before +{ + content: "\ec13"; +} + +.icofont-disabled:before +{ + content: "\ec14"; +} + +.icofont-dna-alt-1:before +{ + content: "\ec15"; +} + +.icofont-dna-alt-2:before +{ + content: "\ec16"; +} + +.icofont-dna:before +{ + content: "\ec17"; +} + +.icofont-doctor-alt:before +{ + content: "\ec18"; +} + +.icofont-doctor:before +{ + content: "\ec19"; +} + +.icofont-drug-pack:before +{ + content: "\ec1a"; +} + +.icofont-drug:before +{ + content: "\ec1b"; +} + +.icofont-first-aid-alt:before +{ + content: "\ec1c"; +} + +.icofont-first-aid:before +{ + content: "\ec1d"; +} + +.icofont-heart-beat-alt:before +{ + content: "\ec1e"; +} + +.icofont-heart-beat:before +{ + content: "\ec1f"; +} + +.icofont-heartbeat:before +{ + content: "\ec20"; +} + +.icofont-herbal:before +{ + content: "\ec21"; +} + +.icofont-hospital:before +{ + content: "\ec22"; +} + +.icofont-icu:before +{ + content: "\ec23"; +} + +.icofont-injection-syringe:before +{ + content: "\ec24"; +} + +.icofont-laboratory:before +{ + content: "\ec25"; +} + +.icofont-medical-sign-alt:before +{ + content: "\ec26"; +} + +.icofont-medical-sign:before +{ + content: "\ec27"; +} + +.icofont-nurse-alt:before +{ + content: "\ec28"; +} + +.icofont-nurse:before +{ + content: "\ec29"; +} + +.icofont-nursing-home:before +{ + content: "\ec2a"; +} + +.icofont-operation-theater:before +{ + content: "\ec2b"; +} + +.icofont-paralysis-disability:before +{ + content: "\ec2c"; +} + +.icofont-patient-bed:before +{ + content: "\ec2d"; +} + +.icofont-patient-file:before +{ + content: "\ec2e"; +} + +.icofont-pills:before +{ + content: "\ec2f"; +} + +.icofont-prescription:before +{ + content: "\ec30"; +} + +.icofont-pulse:before +{ + content: "\ec31"; +} + +.icofont-stethoscope-alt:before +{ + content: "\ec32"; +} + +.icofont-stethoscope:before +{ + content: "\ec33"; +} + +.icofont-stretcher:before +{ + content: "\ec34"; +} + +.icofont-surgeon-alt:before +{ + content: "\ec35"; +} + +.icofont-surgeon:before +{ + content: "\ec36"; +} + +.icofont-tablets:before +{ + content: "\ec37"; +} + +.icofont-test-bottle:before +{ + content: "\ec38"; +} + +.icofont-test-tube:before +{ + content: "\ec39"; +} + +.icofont-thermometer-alt:before +{ + content: "\ec3a"; +} + +.icofont-thermometer:before +{ + content: "\ec3b"; +} + +.icofont-tooth:before +{ + content: "\ec3c"; +} + +.icofont-xray:before +{ + content: "\ec3d"; +} + +.icofont-ui-add:before +{ + content: "\ec3e"; +} + +.icofont-ui-alarm:before +{ + content: "\ec3f"; +} + +.icofont-ui-battery:before +{ + content: "\ec40"; +} + +.icofont-ui-block:before +{ + content: "\ec41"; +} + +.icofont-ui-bluetooth:before +{ + content: "\ec42"; +} + +.icofont-ui-brightness:before +{ + content: "\ec43"; +} + +.icofont-ui-browser:before +{ + content: "\ec44"; +} + +.icofont-ui-calendar:before +{ + content: "\ec45"; +} + +.icofont-ui-call:before +{ + content: "\ec46"; +} + +.icofont-ui-camera:before +{ + content: "\ec47"; +} + +.icofont-ui-cart:before +{ + content: "\ec48"; +} + +.icofont-ui-cell-phone:before +{ + content: "\ec49"; +} + +.icofont-ui-chat:before +{ + content: "\ec4a"; +} + +.icofont-ui-check:before +{ + content: "\ec4b"; +} + +.icofont-ui-clip-board:before +{ + content: "\ec4c"; +} + +.icofont-ui-clip:before +{ + content: "\ec4d"; +} + +.icofont-ui-clock:before +{ + content: "\ec4e"; +} + +.icofont-ui-close:before +{ + content: "\ec4f"; +} + +.icofont-ui-contact-list:before +{ + content: "\ec50"; +} + +.icofont-ui-copy:before +{ + content: "\ec51"; +} + +.icofont-ui-cut:before +{ + content: "\ec52"; +} + +.icofont-ui-delete:before +{ + content: "\ec53"; +} + +.icofont-ui-dial-phone:before +{ + content: "\ec54"; +} + +.icofont-ui-edit:before +{ + content: "\ec55"; +} + +.icofont-ui-email:before +{ + content: "\ec56"; +} + +.icofont-ui-file:before +{ + content: "\ec57"; +} + +.icofont-ui-fire-wall:before +{ + content: "\ec58"; +} + +.icofont-ui-flash-light:before +{ + content: "\ec59"; +} + +.icofont-ui-flight:before +{ + content: "\ec5a"; +} + +.icofont-ui-folder:before +{ + content: "\ec5b"; +} + +.icofont-ui-game:before +{ + content: "\ec5c"; +} + +.icofont-ui-handicapped:before +{ + content: "\ec5d"; +} + +.icofont-ui-home:before +{ + content: "\ec5e"; +} + +.icofont-ui-image:before +{ + content: "\ec5f"; +} + +.icofont-ui-laoding:before +{ + content: "\ec60"; +} + +.icofont-ui-lock:before +{ + content: "\ec61"; +} + +.icofont-ui-love-add:before +{ + content: "\ec62"; +} + +.icofont-ui-love-broken:before +{ + content: "\ec63"; +} + +.icofont-ui-love-remove:before +{ + content: "\ec64"; +} + +.icofont-ui-love:before +{ + content: "\ec65"; +} + +.icofont-ui-map:before +{ + content: "\ec66"; +} + +.icofont-ui-message:before +{ + content: "\ec67"; +} + +.icofont-ui-messaging:before +{ + content: "\ec68"; +} + +.icofont-ui-movie:before +{ + content: "\ec69"; +} + +.icofont-ui-music-player:before +{ + content: "\ec6a"; +} + +.icofont-ui-music:before +{ + content: "\ec6b"; +} + +.icofont-ui-mute:before +{ + content: "\ec6c"; +} + +.icofont-ui-network:before +{ + content: "\ec6d"; +} + +.icofont-ui-next:before +{ + content: "\ec6e"; +} + +.icofont-ui-note:before +{ + content: "\ec6f"; +} + +.icofont-ui-office:before +{ + content: "\ec70"; +} + +.icofont-ui-password:before +{ + content: "\ec71"; +} + +.icofont-ui-pause:before +{ + content: "\ec72"; +} + +.icofont-ui-play-stop:before +{ + content: "\ec73"; +} + +.icofont-ui-play:before +{ + content: "\ec74"; +} + +.icofont-ui-pointer:before +{ + content: "\ec75"; +} + +.icofont-ui-power:before +{ + content: "\ec76"; +} + +.icofont-ui-press:before +{ + content: "\ec77"; +} + +.icofont-ui-previous:before +{ + content: "\ec78"; +} + +.icofont-ui-rate-add:before +{ + content: "\ec79"; +} + +.icofont-ui-rate-blank:before +{ + content: "\ec7a"; +} + +.icofont-ui-rate-remove:before +{ + content: "\ec7b"; +} + +.icofont-ui-rating:before +{ + content: "\ec7c"; +} + +.icofont-ui-record:before +{ + content: "\ec7d"; +} + +.icofont-ui-remove:before +{ + content: "\ec7e"; +} + +.icofont-ui-reply:before +{ + content: "\ec7f"; +} + +.icofont-ui-rotation:before +{ + content: "\ec80"; +} + +.icofont-ui-rss:before +{ + content: "\ec81"; +} + +.icofont-ui-search:before +{ + content: "\ec82"; +} + +.icofont-ui-settings:before +{ + content: "\ec83"; +} + +.icofont-ui-social-link:before +{ + content: "\ec84"; +} + +.icofont-ui-tag:before +{ + content: "\ec85"; +} + +.icofont-ui-text-chat:before +{ + content: "\ec86"; +} + +.icofont-ui-text-loading:before +{ + content: "\ec87"; +} + +.icofont-ui-theme:before +{ + content: "\ec88"; +} + +.icofont-ui-timer:before +{ + content: "\ec89"; +} + +.icofont-ui-touch-phone:before +{ + content: "\ec8a"; +} + +.icofont-ui-travel:before +{ + content: "\ec8b"; +} + +.icofont-ui-unlock:before +{ + content: "\ec8c"; +} + +.icofont-ui-user-group:before +{ + content: "\ec8d"; +} + +.icofont-ui-user:before +{ + content: "\ec8e"; +} + +.icofont-ui-v-card:before +{ + content: "\ec8f"; +} + +.icofont-ui-video-chat:before +{ + content: "\ec90"; +} + +.icofont-ui-video-message:before +{ + content: "\ec91"; +} + +.icofont-ui-video-play:before +{ + content: "\ec92"; +} + +.icofont-ui-video:before +{ + content: "\ec93"; +} + +.icofont-ui-volume:before +{ + content: "\ec94"; +} + +.icofont-ui-weather:before +{ + content: "\ec95"; +} + +.icofont-ui-wifi:before +{ + content: "\ec96"; +} + +.icofont-ui-zoom-in:before +{ + content: "\ec97"; +} + +.icofont-ui-zoom-out:before +{ + content: "\ec98"; +} + +.icofont-cassette-player:before +{ + content: "\ec99"; +} + +.icofont-cassette:before +{ + content: "\ec9a"; +} + +.icofont-forward:before +{ + content: "\ec9b"; +} + +.icofont-guiter:before +{ + content: "\ec9c"; +} + +.icofont-movie:before +{ + content: "\ec9d"; +} + +.icofont-multimedia:before +{ + content: "\ec9e"; +} + +.icofont-music-alt:before +{ + content: "\ec9f"; +} + +.icofont-music-disk:before +{ + content: "\eca0"; +} + +.icofont-music-note:before +{ + content: "\eca1"; +} + +.icofont-music-notes:before +{ + content: "\eca2"; +} + +.icofont-music:before +{ + content: "\eca3"; +} + +.icofont-mute-volume:before +{ + content: "\eca4"; +} + +.icofont-pause:before +{ + content: "\eca5"; +} + +.icofont-play-alt-1:before +{ + content: "\eca6"; +} + +.icofont-play-alt-2:before +{ + content: "\eca7"; +} + +.icofont-play-alt-3:before +{ + content: "\eca8"; +} + +.icofont-play-pause:before +{ + content: "\eca9"; +} + +.icofont-play:before +{ + content: "\ecaa"; +} + +.icofont-record:before +{ + content: "\ecab"; +} + +.icofont-retro-music-disk:before +{ + content: "\ecac"; +} + +.icofont-rewind:before +{ + content: "\ecad"; +} + +.icofont-song-notes:before +{ + content: "\ecae"; +} + +.icofont-sound-wave-alt:before +{ + content: "\ecaf"; +} + +.icofont-sound-wave:before +{ + content: "\ecb0"; +} + +.icofont-stop:before +{ + content: "\ecb1"; +} + +.icofont-video-alt:before +{ + content: "\ecb2"; +} + +.icofont-video-cam:before +{ + content: "\ecb3"; +} + +.icofont-video-clapper:before +{ + content: "\ecb4"; +} + +.icofont-video:before +{ + content: "\ecb5"; +} + +.icofont-volume-bar:before +{ + content: "\ecb6"; +} + +.icofont-volume-down:before +{ + content: "\ecb7"; +} + +.icofont-volume-mute:before +{ + content: "\ecb8"; +} + +.icofont-volume-off:before +{ + content: "\ecb9"; +} + +.icofont-volume-up:before +{ + content: "\ecba"; +} + +.icofont-youtube-play:before +{ + content: "\ecbb"; +} + +.icofont-2checkout-alt:before +{ + content: "\ecbc"; +} + +.icofont-2checkout:before +{ + content: "\ecbd"; +} + +.icofont-amazon-alt:before +{ + content: "\ecbe"; +} + +.icofont-amazon:before +{ + content: "\ecbf"; +} + +.icofont-american-express-alt:before +{ + content: "\ecc0"; +} + +.icofont-american-express:before +{ + content: "\ecc1"; +} + +.icofont-apple-pay-alt:before +{ + content: "\ecc2"; +} + +.icofont-apple-pay:before +{ + content: "\ecc3"; +} + +.icofont-bank-transfer-alt:before +{ + content: "\ecc4"; +} + +.icofont-bank-transfer:before +{ + content: "\ecc5"; +} + +.icofont-braintree-alt:before +{ + content: "\ecc6"; +} + +.icofont-braintree:before +{ + content: "\ecc7"; +} + +.icofont-cash-on-delivery-alt:before +{ + content: "\ecc8"; +} + +.icofont-cash-on-delivery:before +{ + content: "\ecc9"; +} + +.icofont-diners-club-alt-1:before +{ + content: "\ecca"; +} + +.icofont-diners-club-alt-2:before +{ + content: "\eccb"; +} + +.icofont-diners-club-alt-3:before +{ + content: "\eccc"; +} + +.icofont-diners-club:before +{ + content: "\eccd"; +} + +.icofont-discover-alt:before +{ + content: "\ecce"; +} + +.icofont-discover:before +{ + content: "\eccf"; +} + +.icofont-eway-alt:before +{ + content: "\ecd0"; +} + +.icofont-eway:before +{ + content: "\ecd1"; +} + +.icofont-google-wallet-alt-1:before +{ + content: "\ecd2"; +} + +.icofont-google-wallet-alt-2:before +{ + content: "\ecd3"; +} + +.icofont-google-wallet-alt-3:before +{ + content: "\ecd4"; +} + +.icofont-google-wallet:before +{ + content: "\ecd5"; +} + +.icofont-jcb-alt:before +{ + content: "\ecd6"; +} + +.icofont-jcb:before +{ + content: "\ecd7"; +} + +.icofont-maestro-alt:before +{ + content: "\ecd8"; +} + +.icofont-maestro:before +{ + content: "\ecd9"; +} + +.icofont-mastercard-alt:before +{ + content: "\ecda"; +} + +.icofont-mastercard:before +{ + content: "\ecdb"; +} + +.icofont-payoneer-alt:before +{ + content: "\ecdc"; +} + +.icofont-payoneer:before +{ + content: "\ecdd"; +} + +.icofont-paypal-alt:before +{ + content: "\ecde"; +} + +.icofont-paypal:before +{ + content: "\ecdf"; +} + +.icofont-sage-alt:before +{ + content: "\ece0"; +} + +.icofont-sage:before +{ + content: "\ece1"; +} + +.icofont-skrill-alt:before +{ + content: "\ece2"; +} + +.icofont-skrill:before +{ + content: "\ece3"; +} + +.icofont-stripe-alt:before +{ + content: "\ece4"; +} + +.icofont-stripe:before +{ + content: "\ece5"; +} + +.icofont-visa-alt:before +{ + content: "\ece6"; +} + +.icofont-visa-electron:before +{ + content: "\ece7"; +} + +.icofont-visa:before +{ + content: "\ece8"; +} + +.icofont-western-union-alt:before +{ + content: "\ece9"; +} + +.icofont-western-union:before +{ + content: "\ecea"; +} + +.icofont-boy:before +{ + content: "\eceb"; +} + +.icofont-business-man-alt-1:before +{ + content: "\ecec"; +} + +.icofont-business-man-alt-2:before +{ + content: "\eced"; +} + +.icofont-business-man-alt-3:before +{ + content: "\ecee"; +} + +.icofont-business-man:before +{ + content: "\ecef"; +} + +.icofont-female:before +{ + content: "\ecf0"; +} + +.icofont-funky-man:before +{ + content: "\ecf1"; +} + +.icofont-girl-alt:before +{ + content: "\ecf2"; +} + +.icofont-girl:before +{ + content: "\ecf3"; +} + +.icofont-group:before +{ + content: "\ecf4"; +} + +.icofont-hotel-boy-alt:before +{ + content: "\ecf5"; +} + +.icofont-hotel-boy:before +{ + content: "\ecf6"; +} + +.icofont-kid:before +{ + content: "\ecf7"; +} + +.icofont-man-in-glasses:before +{ + content: "\ecf8"; +} + +.icofont-people:before +{ + content: "\ecf9"; +} + +.icofont-support:before +{ + content: "\ecfa"; +} + +.icofont-user-alt-1:before +{ + content: "\ecfb"; +} + +.icofont-user-alt-2:before +{ + content: "\ecfc"; +} + +.icofont-user-alt-3:before +{ + content: "\ecfd"; +} + +.icofont-user-alt-4:before +{ + content: "\ecfe"; +} + +.icofont-user-alt-5:before +{ + content: "\ecff"; +} + +.icofont-user-alt-6:before +{ + content: "\ed00"; +} + +.icofont-user-alt-7:before +{ + content: "\ed01"; +} + +.icofont-user-female:before +{ + content: "\ed02"; +} + +.icofont-user-male:before +{ + content: "\ed03"; +} + +.icofont-user-suited:before +{ + content: "\ed04"; +} + +.icofont-user:before +{ + content: "\ed05"; +} + +.icofont-users-alt-1:before +{ + content: "\ed06"; +} + +.icofont-users-alt-2:before +{ + content: "\ed07"; +} + +.icofont-users-alt-3:before +{ + content: "\ed08"; +} + +.icofont-users-alt-4:before +{ + content: "\ed09"; +} + +.icofont-users-alt-5:before +{ + content: "\ed0a"; +} + +.icofont-users-alt-6:before +{ + content: "\ed0b"; +} + +.icofont-users-social:before +{ + content: "\ed0c"; +} + +.icofont-users:before +{ + content: "\ed0d"; +} + +.icofont-waiter-alt:before +{ + content: "\ed0e"; +} + +.icofont-waiter:before +{ + content: "\ed0f"; +} + +.icofont-woman-in-glasses:before +{ + content: "\ed10"; +} + +.icofont-search-1:before +{ + content: "\ed11"; +} + +.icofont-search-2:before +{ + content: "\ed12"; +} + +.icofont-search-document:before +{ + content: "\ed13"; +} + +.icofont-search-folder:before +{ + content: "\ed14"; +} + +.icofont-search-job:before +{ + content: "\ed15"; +} + +.icofont-search-map:before +{ + content: "\ed16"; +} + +.icofont-search-property:before +{ + content: "\ed17"; +} + +.icofont-search-restaurant:before +{ + content: "\ed18"; +} + +.icofont-search-stock:before +{ + content: "\ed19"; +} + +.icofont-search-user:before +{ + content: "\ed1a"; +} + +.icofont-search:before +{ + content: "\ed1b"; +} + +.icofont-500px:before +{ + content: "\ed1c"; +} + +.icofont-aim:before +{ + content: "\ed1d"; +} + +.icofont-badoo:before +{ + content: "\ed1e"; +} + +.icofont-baidu-tieba:before +{ + content: "\ed1f"; +} + +.icofont-bbm-messenger:before +{ + content: "\ed20"; +} + +.icofont-bebo:before +{ + content: "\ed21"; +} + +.icofont-behance:before +{ + content: "\ed22"; +} + +.icofont-blogger:before +{ + content: "\ed23"; +} + +.icofont-bootstrap:before +{ + content: "\ed24"; +} + +.icofont-brightkite:before +{ + content: "\ed25"; +} + +.icofont-cloudapp:before +{ + content: "\ed26"; +} + +.icofont-concrete5:before +{ + content: "\ed27"; +} + +.icofont-delicious:before +{ + content: "\ed28"; +} + +.icofont-designbump:before +{ + content: "\ed29"; +} + +.icofont-designfloat:before +{ + content: "\ed2a"; +} + +.icofont-deviantart:before +{ + content: "\ed2b"; +} + +.icofont-digg:before +{ + content: "\ed2c"; +} + +.icofont-dotcms:before +{ + content: "\ed2d"; +} + +.icofont-dribbble:before +{ + content: "\ed2e"; +} + +.icofont-dribble:before +{ + content: "\ed2f"; +} + +.icofont-dropbox:before +{ + content: "\ed30"; +} + +.icofont-ebuddy:before +{ + content: "\ed31"; +} + +.icofont-ello:before +{ + content: "\ed32"; +} + +.icofont-ember:before +{ + content: "\ed33"; +} + +.icofont-envato:before +{ + content: "\ed34"; +} + +.icofont-evernote:before +{ + content: "\ed35"; +} + +.icofont-facebook-messenger:before +{ + content: "\ed36"; +} + +.icofont-facebook:before +{ + content: "\ed37"; +} + +.icofont-feedburner:before +{ + content: "\ed38"; +} + +.icofont-flikr:before +{ + content: "\ed39"; +} + +.icofont-folkd:before +{ + content: "\ed3a"; +} + +.icofont-foursquare:before +{ + content: "\ed3b"; +} + +.icofont-friendfeed:before +{ + content: "\ed3c"; +} + +.icofont-ghost:before +{ + content: "\ed3d"; +} + +.icofont-github:before +{ + content: "\ed3e"; +} + +.icofont-gnome:before +{ + content: "\ed3f"; +} + +.icofont-google-buzz:before +{ + content: "\ed40"; +} + +.icofont-google-hangouts:before +{ + content: "\ed41"; +} + +.icofont-google-map:before +{ + content: "\ed42"; +} + +.icofont-google-plus:before +{ + content: "\ed43"; +} + +.icofont-google-talk:before +{ + content: "\ed44"; +} + +.icofont-hype-machine:before +{ + content: "\ed45"; +} + +.icofont-instagram:before +{ + content: "\ed46"; +} + +.icofont-kakaotalk:before +{ + content: "\ed47"; +} + +.icofont-kickstarter:before +{ + content: "\ed48"; +} + +.icofont-kik:before +{ + content: "\ed49"; +} + +.icofont-kiwibox:before +{ + content: "\ed4a"; +} + +.icofont-line-messenger:before +{ + content: "\ed4b"; +} + +.icofont-line:before +{ + content: "\ed4c"; +} + +.icofont-linkedin:before +{ + content: "\ed4d"; +} + +.icofont-linux-mint:before +{ + content: "\ed4e"; +} + +.icofont-live-messenger:before +{ + content: "\ed4f"; +} + +.icofont-livejournal:before +{ + content: "\ed50"; +} + +.icofont-magento:before +{ + content: "\ed51"; +} + +.icofont-meetme:before +{ + content: "\ed52"; +} + +.icofont-meetup:before +{ + content: "\ed53"; +} + +.icofont-mixx:before +{ + content: "\ed54"; +} + +.icofont-newsvine:before +{ + content: "\ed55"; +} + +.icofont-nimbuss:before +{ + content: "\ed56"; +} + +.icofont-odnoklassniki:before +{ + content: "\ed57"; +} + +.icofont-opencart:before +{ + content: "\ed58"; +} + +.icofont-oscommerce:before +{ + content: "\ed59"; +} + +.icofont-pandora:before +{ + content: "\ed5a"; +} + +.icofont-photobucket:before +{ + content: "\ed5b"; +} + +.icofont-picasa:before +{ + content: "\ed5c"; +} + +.icofont-pinterest:before +{ + content: "\ed5d"; +} + +.icofont-prestashop:before +{ + content: "\ed5e"; +} + +.icofont-qik:before +{ + content: "\ed5f"; +} + +.icofont-qq:before +{ + content: "\ed60"; +} + +.icofont-readernaut:before +{ + content: "\ed61"; +} + +.icofont-reddit:before +{ + content: "\ed62"; +} + +.icofont-renren:before +{ + content: "\ed63"; +} + +.icofont-rss:before +{ + content: "\ed64"; +} + +.icofont-shopify:before +{ + content: "\ed65"; +} + +.icofont-silverstripe:before +{ + content: "\ed66"; +} + +.icofont-skype:before +{ + content: "\ed67"; +} + +.icofont-slack:before +{ + content: "\ed68"; +} + +.icofont-slashdot:before +{ + content: "\ed69"; +} + +.icofont-slidshare:before +{ + content: "\ed6a"; +} + +.icofont-smugmug:before +{ + content: "\ed6b"; +} + +.icofont-snapchat:before +{ + content: "\ed6c"; +} + +.icofont-soundcloud:before +{ + content: "\ed6d"; +} + +.icofont-spotify:before +{ + content: "\ed6e"; +} + +.icofont-stack-exchange:before +{ + content: "\ed6f"; +} + +.icofont-stack-overflow:before +{ + content: "\ed70"; +} + +.icofont-steam:before +{ + content: "\ed71"; +} + +.icofont-stumbleupon:before +{ + content: "\ed72"; +} + +.icofont-tagged:before +{ + content: "\ed73"; +} + +.icofont-technorati:before +{ + content: "\ed74"; +} + +.icofont-telegram:before +{ + content: "\ed75"; +} + +.icofont-tinder:before +{ + content: "\ed76"; +} + +.icofont-trello:before +{ + content: "\ed77"; +} + +.icofont-tumblr:before +{ + content: "\ed78"; +} + +.icofont-twitch:before +{ + content: "\ed79"; +} + +.icofont-twitter:before +{ + content: "\ed7a"; +} + +.icofont-typo3:before +{ + content: "\ed7b"; +} + +.icofont-ubercart:before +{ + content: "\ed7c"; +} + +.icofont-viber:before +{ + content: "\ed7d"; +} + +.icofont-viddler:before +{ + content: "\ed7e"; +} + +.icofont-vimeo:before +{ + content: "\ed7f"; +} + +.icofont-vine:before +{ + content: "\ed80"; +} + +.icofont-virb:before +{ + content: "\ed81"; +} + +.icofont-virtuemart:before +{ + content: "\ed82"; +} + +.icofont-vk:before +{ + content: "\ed83"; +} + +.icofont-wechat:before +{ + content: "\ed84"; +} + +.icofont-weibo:before +{ + content: "\ed85"; +} + +.icofont-whatsapp:before +{ + content: "\ed86"; +} + +.icofont-xing:before +{ + content: "\ed87"; +} + +.icofont-yahoo:before +{ + content: "\ed88"; +} + +.icofont-yelp:before +{ + content: "\ed89"; +} + +.icofont-youku:before +{ + content: "\ed8a"; +} + +.icofont-youtube:before +{ + content: "\ed8b"; +} + +.icofont-zencart:before +{ + content: "\ed8c"; +} + +.icofont-badminton-birdie:before +{ + content: "\ed8d"; +} + +.icofont-baseball:before +{ + content: "\ed8e"; +} + +.icofont-baseballer:before +{ + content: "\ed8f"; +} + +.icofont-basketball-hoop:before +{ + content: "\ed90"; +} + +.icofont-basketball:before +{ + content: "\ed91"; +} + +.icofont-billiard-ball:before +{ + content: "\ed92"; +} + +.icofont-boot-alt-1:before +{ + content: "\ed93"; +} + +.icofont-boot-alt-2:before +{ + content: "\ed94"; +} + +.icofont-boot:before +{ + content: "\ed95"; +} + +.icofont-bowling-alt:before +{ + content: "\ed96"; +} + +.icofont-bowling:before +{ + content: "\ed97"; +} + +.icofont-canoe:before +{ + content: "\ed98"; +} + +.icofont-cheer-leader:before +{ + content: "\ed99"; +} + +.icofont-climbing:before +{ + content: "\ed9a"; +} + +.icofont-corner:before +{ + content: "\ed9b"; +} + +.icofont-field-alt:before +{ + content: "\ed9c"; +} + +.icofont-field:before +{ + content: "\ed9d"; +} + +.icofont-football-alt:before +{ + content: "\ed9e"; +} + +.icofont-football-american:before +{ + content: "\ed9f"; +} + +.icofont-football:before +{ + content: "\eda0"; +} + +.icofont-foul:before +{ + content: "\eda1"; +} + +.icofont-goal-keeper:before +{ + content: "\eda2"; +} + +.icofont-goal:before +{ + content: "\eda3"; +} + +.icofont-golf-alt:before +{ + content: "\eda4"; +} + +.icofont-golf-bag:before +{ + content: "\eda5"; +} + +.icofont-golf-cart:before +{ + content: "\eda6"; +} + +.icofont-golf-field:before +{ + content: "\eda7"; +} + +.icofont-golf:before +{ + content: "\eda8"; +} + +.icofont-golfer:before +{ + content: "\eda9"; +} + +.icofont-helmet:before +{ + content: "\edaa"; +} + +.icofont-hockey-alt:before +{ + content: "\edab"; +} + +.icofont-hockey:before +{ + content: "\edac"; +} + +.icofont-ice-skate:before +{ + content: "\edad"; +} + +.icofont-jersey-alt:before +{ + content: "\edae"; +} + +.icofont-jersey:before +{ + content: "\edaf"; +} + +.icofont-jumping:before +{ + content: "\edb0"; +} + +.icofont-kick:before +{ + content: "\edb1"; +} + +.icofont-leg:before +{ + content: "\edb2"; +} + +.icofont-match-review:before +{ + content: "\edb3"; +} + +.icofont-medal-sport:before +{ + content: "\edb4"; +} + +.icofont-offside:before +{ + content: "\edb5"; +} + +.icofont-olympic-logo:before +{ + content: "\edb6"; +} + +.icofont-olympic:before +{ + content: "\edb7"; +} + +.icofont-padding:before +{ + content: "\edb8"; +} + +.icofont-penalty-card:before +{ + content: "\edb9"; +} + +.icofont-racer:before +{ + content: "\edba"; +} + +.icofont-racing-car:before +{ + content: "\edbb"; +} + +.icofont-racing-flag-alt:before +{ + content: "\edbc"; +} + +.icofont-racing-flag:before +{ + content: "\edbd"; +} + +.icofont-racings-wheel:before +{ + content: "\edbe"; +} + +.icofont-referee:before +{ + content: "\edbf"; +} + +.icofont-refree-jersey:before +{ + content: "\edc0"; +} + +.icofont-result-sport:before +{ + content: "\edc1"; +} + +.icofont-rugby-ball:before +{ + content: "\edc2"; +} + +.icofont-rugby-player:before +{ + content: "\edc3"; +} + +.icofont-rugby:before +{ + content: "\edc4"; +} + +.icofont-runner-alt-1:before +{ + content: "\edc5"; +} + +.icofont-runner-alt-2:before +{ + content: "\edc6"; +} + +.icofont-runner:before +{ + content: "\edc7"; +} + +.icofont-score-board:before +{ + content: "\edc8"; +} + +.icofont-skiing-man:before +{ + content: "\edc9"; +} + +.icofont-skydiving-goggles:before +{ + content: "\edca"; +} + +.icofont-snow-mobile:before +{ + content: "\edcb"; +} + +.icofont-steering:before +{ + content: "\edcc"; +} + +.icofont-stopwatch:before +{ + content: "\edcd"; +} + +.icofont-substitute:before +{ + content: "\edce"; +} + +.icofont-swimmer:before +{ + content: "\edcf"; +} + +.icofont-table-tennis:before +{ + content: "\edd0"; +} + +.icofont-team-alt:before +{ + content: "\edd1"; +} + +.icofont-team:before +{ + content: "\edd2"; +} + +.icofont-tennis-player:before +{ + content: "\edd3"; +} + +.icofont-tennis:before +{ + content: "\edd4"; +} + +.icofont-tracking:before +{ + content: "\edd5"; +} + +.icofont-trophy-alt:before +{ + content: "\edd6"; +} + +.icofont-trophy:before +{ + content: "\edd7"; +} + +.icofont-volleyball-alt:before +{ + content: "\edd8"; +} + +.icofont-volleyball-fire:before +{ + content: "\edd9"; +} + +.icofont-volleyball:before +{ + content: "\edda"; +} + +.icofont-water-bottle:before +{ + content: "\eddb"; +} + +.icofont-whistle-alt:before +{ + content: "\eddc"; +} + +.icofont-whistle:before +{ + content: "\eddd"; +} + +.icofont-win-trophy:before +{ + content: "\edde"; +} + +.icofont-align-center:before +{ + content: "\eddf"; +} + +.icofont-align-left:before +{ + content: "\ede0"; +} + +.icofont-align-right:before +{ + content: "\ede1"; +} + +.icofont-all-caps:before +{ + content: "\ede2"; +} + +.icofont-bold:before +{ + content: "\ede3"; +} + +.icofont-brush:before +{ + content: "\ede4"; +} + +.icofont-clip-board:before +{ + content: "\ede5"; +} + +.icofont-code-alt:before +{ + content: "\ede6"; +} + +.icofont-color-bucket:before +{ + content: "\ede7"; +} + +.icofont-color-picker:before +{ + content: "\ede8"; +} + +.icofont-copy-invert:before +{ + content: "\ede9"; +} + +.icofont-copy:before +{ + content: "\edea"; +} + +.icofont-cut:before +{ + content: "\edeb"; +} + +.icofont-delete-alt:before +{ + content: "\edec"; +} + +.icofont-edit-alt:before +{ + content: "\eded"; +} + +.icofont-eraser-alt:before +{ + content: "\edee"; +} + +.icofont-font:before +{ + content: "\edef"; +} + +.icofont-heading:before +{ + content: "\edf0"; +} + +.icofont-indent:before +{ + content: "\edf1"; +} + +.icofont-italic-alt:before +{ + content: "\edf2"; +} + +.icofont-italic:before +{ + content: "\edf3"; +} + +.icofont-justify-all:before +{ + content: "\edf4"; +} + +.icofont-justify-center:before +{ + content: "\edf5"; +} + +.icofont-justify-left:before +{ + content: "\edf6"; +} + +.icofont-justify-right:before +{ + content: "\edf7"; +} + +.icofont-link-broken:before +{ + content: "\edf8"; +} + +.icofont-outdent:before +{ + content: "\edf9"; +} + +.icofont-paper-clip:before +{ + content: "\edfa"; +} + +.icofont-paragraph:before +{ + content: "\edfb"; +} + +.icofont-pin:before +{ + content: "\edfc"; +} + +.icofont-printer:before +{ + content: "\edfd"; +} + +.icofont-redo:before +{ + content: "\edfe"; +} + +.icofont-rotation:before +{ + content: "\edff"; +} + +.icofont-save:before +{ + content: "\ee00"; +} + +.icofont-small-cap:before +{ + content: "\ee01"; +} + +.icofont-strike-through:before +{ + content: "\ee02"; +} + +.icofont-sub-listing:before +{ + content: "\ee03"; +} + +.icofont-subscript:before +{ + content: "\ee04"; +} + +.icofont-superscript:before +{ + content: "\ee05"; +} + +.icofont-table:before +{ + content: "\ee06"; +} + +.icofont-text-height:before +{ + content: "\ee07"; +} + +.icofont-text-width:before +{ + content: "\ee08"; +} + +.icofont-trash:before +{ + content: "\ee09"; +} + +.icofont-underline:before +{ + content: "\ee0a"; +} + +.icofont-undo:before +{ + content: "\ee0b"; +} + +.icofont-air-balloon:before +{ + content: "\ee0c"; +} + +.icofont-airplane-alt:before +{ + content: "\ee0d"; +} + +.icofont-airplane:before +{ + content: "\ee0e"; +} + +.icofont-articulated-truck:before +{ + content: "\ee0f"; +} + +.icofont-auto-mobile:before +{ + content: "\ee10"; +} + +.icofont-auto-rickshaw:before +{ + content: "\ee11"; +} + +.icofont-bicycle-alt-1:before +{ + content: "\ee12"; +} + +.icofont-bicycle-alt-2:before +{ + content: "\ee13"; +} + +.icofont-bicycle:before +{ + content: "\ee14"; +} + +.icofont-bus-alt-1:before +{ + content: "\ee15"; +} + +.icofont-bus-alt-2:before +{ + content: "\ee16"; +} + +.icofont-bus-alt-3:before +{ + content: "\ee17"; +} + +.icofont-bus:before +{ + content: "\ee18"; +} + +.icofont-cab:before +{ + content: "\ee19"; +} + +.icofont-cable-car:before +{ + content: "\ee1a"; +} + +.icofont-car-alt-1:before +{ + content: "\ee1b"; +} + +.icofont-car-alt-2:before +{ + content: "\ee1c"; +} + +.icofont-car-alt-3:before +{ + content: "\ee1d"; +} + +.icofont-car-alt-4:before +{ + content: "\ee1e"; +} + +.icofont-car:before +{ + content: "\ee1f"; +} + +.icofont-delivery-time:before +{ + content: "\ee20"; +} + +.icofont-fast-delivery:before +{ + content: "\ee21"; +} + +.icofont-fire-truck-alt:before +{ + content: "\ee22"; +} + +.icofont-fire-truck:before +{ + content: "\ee23"; +} + +.icofont-free-delivery:before +{ + content: "\ee24"; +} + +.icofont-helicopter:before +{ + content: "\ee25"; +} + +.icofont-motor-bike-alt:before +{ + content: "\ee26"; +} + +.icofont-motor-bike:before +{ + content: "\ee27"; +} + +.icofont-motor-biker:before +{ + content: "\ee28"; +} + +.icofont-oil-truck:before +{ + content: "\ee29"; +} + +.icofont-rickshaw:before +{ + content: "\ee2a"; +} + +.icofont-rocket-alt-1:before +{ + content: "\ee2b"; +} + +.icofont-rocket-alt-2:before +{ + content: "\ee2c"; +} + +.icofont-rocket:before +{ + content: "\ee2d"; +} + +.icofont-sail-boat-alt-1:before +{ + content: "\ee2e"; +} + +.icofont-sail-boat-alt-2:before +{ + content: "\ee2f"; +} + +.icofont-sail-boat:before +{ + content: "\ee30"; +} + +.icofont-scooter:before +{ + content: "\ee31"; +} + +.icofont-sea-plane:before +{ + content: "\ee32"; +} + +.icofont-ship-alt:before +{ + content: "\ee33"; +} + +.icofont-ship:before +{ + content: "\ee34"; +} + +.icofont-speed-boat:before +{ + content: "\ee35"; +} + +.icofont-taxi:before +{ + content: "\ee36"; +} + +.icofont-tractor:before +{ + content: "\ee37"; +} + +.icofont-train-line:before +{ + content: "\ee38"; +} + +.icofont-train-steam:before +{ + content: "\ee39"; +} + +.icofont-tram:before +{ + content: "\ee3a"; +} + +.icofont-truck-alt:before +{ + content: "\ee3b"; +} + +.icofont-truck-loaded:before +{ + content: "\ee3c"; +} + +.icofont-truck:before +{ + content: "\ee3d"; +} + +.icofont-van-alt:before +{ + content: "\ee3e"; +} + +.icofont-van:before +{ + content: "\ee3f"; +} + +.icofont-yacht:before +{ + content: "\ee40"; +} + +.icofont-5-star-hotel:before +{ + content: "\ee41"; +} + +.icofont-air-ticket:before +{ + content: "\ee42"; +} + +.icofont-beach-bed:before +{ + content: "\ee43"; +} + +.icofont-beach:before +{ + content: "\ee44"; +} + +.icofont-camping-vest:before +{ + content: "\ee45"; +} + +.icofont-direction-sign:before +{ + content: "\ee46"; +} + +.icofont-hill-side:before +{ + content: "\ee47"; +} + +.icofont-hill:before +{ + content: "\ee48"; +} + +.icofont-hotel:before +{ + content: "\ee49"; +} + +.icofont-island-alt:before +{ + content: "\ee4a"; +} + +.icofont-island:before +{ + content: "\ee4b"; +} + +.icofont-sandals-female:before +{ + content: "\ee4c"; +} + +.icofont-sandals-male:before +{ + content: "\ee4d"; +} + +.icofont-travelling:before +{ + content: "\ee4e"; +} + +.icofont-breakdown:before +{ + content: "\ee4f"; +} + +.icofont-celsius:before +{ + content: "\ee50"; +} + +.icofont-clouds:before +{ + content: "\ee51"; +} + +.icofont-cloudy:before +{ + content: "\ee52"; +} + +.icofont-dust:before +{ + content: "\ee53"; +} + +.icofont-eclipse:before +{ + content: "\ee54"; +} + +.icofont-fahrenheit:before +{ + content: "\ee55"; +} + +.icofont-forest-fire:before +{ + content: "\ee56"; +} + +.icofont-full-night:before +{ + content: "\ee57"; +} + +.icofont-full-sunny:before +{ + content: "\ee58"; +} + +.icofont-hail-night:before +{ + content: "\ee59"; +} + +.icofont-hail-rainy-night:before +{ + content: "\ee5a"; +} + +.icofont-hail-rainy-sunny:before +{ + content: "\ee5b"; +} + +.icofont-hail-rainy:before +{ + content: "\ee5c"; +} + +.icofont-hail-sunny:before +{ + content: "\ee5d"; +} + +.icofont-hail-thunder-night:before +{ + content: "\ee5e"; +} + +.icofont-hail-thunder-sunny:before +{ + content: "\ee5f"; +} + +.icofont-hail-thunder:before +{ + content: "\ee60"; +} + +.icofont-hail:before +{ + content: "\ee61"; +} + +.icofont-hill-night:before +{ + content: "\ee62"; +} + +.icofont-hill-sunny:before +{ + content: "\ee63"; +} + +.icofont-hurricane:before +{ + content: "\ee64"; +} + +.icofont-meteor:before +{ + content: "\ee65"; +} + +.icofont-night:before +{ + content: "\ee66"; +} + +.icofont-rainy-night:before +{ + content: "\ee67"; +} + +.icofont-rainy-sunny:before +{ + content: "\ee68"; +} + +.icofont-rainy-thunder:before +{ + content: "\ee69"; +} + +.icofont-rainy:before +{ + content: "\ee6a"; +} + +.icofont-snow-alt:before +{ + content: "\ee6b"; +} + +.icofont-snow-flake:before +{ + content: "\ee6c"; +} + +.icofont-snow-temp:before +{ + content: "\ee6d"; +} + +.icofont-snow:before +{ + content: "\ee6e"; +} + +.icofont-snowy-hail:before +{ + content: "\ee6f"; +} + +.icofont-snowy-night-hail:before +{ + content: "\ee70"; +} + +.icofont-snowy-night-rainy:before +{ + content: "\ee71"; +} + +.icofont-snowy-night:before +{ + content: "\ee72"; +} + +.icofont-snowy-rainy:before +{ + content: "\ee73"; +} + +.icofont-snowy-sunny-hail:before +{ + content: "\ee74"; +} + +.icofont-snowy-sunny-rainy:before +{ + content: "\ee75"; +} + +.icofont-snowy-sunny:before +{ + content: "\ee76"; +} + +.icofont-snowy-thunder-night:before +{ + content: "\ee77"; +} + +.icofont-snowy-thunder-sunny:before +{ + content: "\ee78"; +} + +.icofont-snowy-thunder:before +{ + content: "\ee79"; +} + +.icofont-snowy-windy-night:before +{ + content: "\ee7a"; +} + +.icofont-snowy-windy-sunny:before +{ + content: "\ee7b"; +} + +.icofont-snowy-windy:before +{ + content: "\ee7c"; +} + +.icofont-snowy:before +{ + content: "\ee7d"; +} + +.icofont-sun-alt:before +{ + content: "\ee7e"; +} + +.icofont-sun-rise:before +{ + content: "\ee7f"; +} + +.icofont-sun-set:before +{ + content: "\ee80"; +} + +.icofont-sun:before +{ + content: "\ee81"; +} + +.icofont-sunny-day-temp:before +{ + content: "\ee82"; +} + +.icofont-sunny:before +{ + content: "\ee83"; +} + +.icofont-thunder-light:before +{ + content: "\ee84"; +} + +.icofont-tornado:before +{ + content: "\ee85"; +} + +.icofont-umbrella-alt:before +{ + content: "\ee86"; +} + +.icofont-umbrella:before +{ + content: "\ee87"; +} + +.icofont-volcano:before +{ + content: "\ee88"; +} + +.icofont-wave:before +{ + content: "\ee89"; +} + +.icofont-wind-scale-0:before +{ + content: "\ee8a"; +} + +.icofont-wind-scale-1:before +{ + content: "\ee8b"; +} + +.icofont-wind-scale-10:before +{ + content: "\ee8c"; +} + +.icofont-wind-scale-11:before +{ + content: "\ee8d"; +} + +.icofont-wind-scale-12:before +{ + content: "\ee8e"; +} + +.icofont-wind-scale-2:before +{ + content: "\ee8f"; +} + +.icofont-wind-scale-3:before +{ + content: "\ee90"; +} + +.icofont-wind-scale-4:before +{ + content: "\ee91"; +} + +.icofont-wind-scale-5:before +{ + content: "\ee92"; +} + +.icofont-wind-scale-6:before +{ + content: "\ee93"; +} + +.icofont-wind-scale-7:before +{ + content: "\ee94"; +} + +.icofont-wind-scale-8:before +{ + content: "\ee95"; +} + +.icofont-wind-scale-9:before +{ + content: "\ee96"; +} + +.icofont-wind-waves:before +{ + content: "\ee97"; +} + +.icofont-wind:before +{ + content: "\ee98"; +} + +.icofont-windy-hail:before +{ + content: "\ee99"; +} + +.icofont-windy-night:before +{ + content: "\ee9a"; +} + +.icofont-windy-raining:before +{ + content: "\ee9b"; +} + +.icofont-windy-sunny:before +{ + content: "\ee9c"; +} + +.icofont-windy-thunder-raining:before +{ + content: "\ee9d"; +} + +.icofont-windy-thunder:before +{ + content: "\ee9e"; +} + +.icofont-windy:before +{ + content: "\ee9f"; +} + +.icofont-addons:before +{ + content: "\eea0"; +} + +.icofont-address-book:before +{ + content: "\eea1"; +} + +.icofont-adjust:before +{ + content: "\eea2"; +} + +.icofont-alarm:before +{ + content: "\eea3"; +} + +.icofont-anchor:before +{ + content: "\eea4"; +} + +.icofont-archive:before +{ + content: "\eea5"; +} + +.icofont-at:before +{ + content: "\eea6"; +} + +.icofont-attachment:before +{ + content: "\eea7"; +} + +.icofont-audio:before +{ + content: "\eea8"; +} + +.icofont-automation:before +{ + content: "\eea9"; +} + +.icofont-badge:before +{ + content: "\eeaa"; +} + +.icofont-bag-alt:before +{ + content: "\eeab"; +} + +.icofont-bag:before +{ + content: "\eeac"; +} + +.icofont-ban:before +{ + content: "\eead"; +} + +.icofont-bar-code:before +{ + content: "\eeae"; +} + +.icofont-bars:before +{ + content: "\eeaf"; +} + +.icofont-basket:before +{ + content: "\eeb0"; +} + +.icofont-battery-empty:before +{ + content: "\eeb1"; +} + +.icofont-battery-full:before +{ + content: "\eeb2"; +} + +.icofont-battery-half:before +{ + content: "\eeb3"; +} + +.icofont-battery-low:before +{ + content: "\eeb4"; +} + +.icofont-beaker:before +{ + content: "\eeb5"; +} + +.icofont-beard:before +{ + content: "\eeb6"; +} + +.icofont-bed:before +{ + content: "\eeb7"; +} + +.icofont-bell:before +{ + content: "\eeb8"; +} + +.icofont-beverage:before +{ + content: "\eeb9"; +} + +.icofont-bill:before +{ + content: "\eeba"; +} + +.icofont-bin:before +{ + content: "\eebb"; +} + +.icofont-binary:before +{ + content: "\eebc"; +} + +.icofont-binoculars:before +{ + content: "\eebd"; +} + +.icofont-bluetooth:before +{ + content: "\eebe"; +} + +.icofont-bomb:before +{ + content: "\eebf"; +} + +.icofont-book-mark:before +{ + content: "\eec0"; +} + +.icofont-box:before +{ + content: "\eec1"; +} + +.icofont-briefcase:before +{ + content: "\eec2"; +} + +.icofont-broken:before +{ + content: "\eec3"; +} + +.icofont-bucket:before +{ + content: "\eec4"; +} + +.icofont-bucket1:before +{ + content: "\eec5"; +} + +.icofont-bucket2:before +{ + content: "\eec6"; +} + +.icofont-bug:before +{ + content: "\eec7"; +} + +.icofont-building:before +{ + content: "\eec8"; +} + +.icofont-bulb-alt:before +{ + content: "\eec9"; +} + +.icofont-bullet:before +{ + content: "\eeca"; +} + +.icofont-bullhorn:before +{ + content: "\eecb"; +} + +.icofont-bullseye:before +{ + content: "\eecc"; +} + +.icofont-calendar:before +{ + content: "\eecd"; +} + +.icofont-camera-alt:before +{ + content: "\eece"; +} + +.icofont-camera:before +{ + content: "\eecf"; +} + +.icofont-card:before +{ + content: "\eed0"; +} + +.icofont-cart-alt:before +{ + content: "\eed1"; +} + +.icofont-cart:before +{ + content: "\eed2"; +} + +.icofont-cc:before +{ + content: "\eed3"; +} + +.icofont-charging:before +{ + content: "\eed4"; +} + +.icofont-chat:before +{ + content: "\eed5"; +} + +.icofont-check-alt:before +{ + content: "\eed6"; +} + +.icofont-check-circled:before +{ + content: "\eed7"; +} + +.icofont-check:before +{ + content: "\eed8"; +} + +.icofont-checked:before +{ + content: "\eed9"; +} + +.icofont-children-care:before +{ + content: "\eeda"; +} + +.icofont-clip:before +{ + content: "\eedb"; +} + +.icofont-clock-time:before +{ + content: "\eedc"; +} + +.icofont-close-circled:before +{ + content: "\eedd"; +} + +.icofont-close-line-circled:before +{ + content: "\eede"; +} + +.icofont-close-line-squared-alt:before +{ + content: "\eedf"; +} + +.icofont-close-line-squared:before +{ + content: "\eee0"; +} + +.icofont-close-line:before +{ + content: "\eee1"; +} + +.icofont-close-squared-alt:before +{ + content: "\eee2"; +} + +.icofont-close-squared:before +{ + content: "\eee3"; +} + +.icofont-close:before +{ + content: "\eee4"; +} + +.icofont-cloud-download:before +{ + content: "\eee5"; +} + +.icofont-cloud-refresh:before +{ + content: "\eee6"; +} + +.icofont-cloud-upload:before +{ + content: "\eee7"; +} + +.icofont-cloud:before +{ + content: "\eee8"; +} + +.icofont-code-not-allowed:before +{ + content: "\eee9"; +} + +.icofont-code:before +{ + content: "\eeea"; +} + +.icofont-comment:before +{ + content: "\eeeb"; +} + +.icofont-compass-alt:before +{ + content: "\eeec"; +} + +.icofont-compass:before +{ + content: "\eeed"; +} + +.icofont-computer:before +{ + content: "\eeee"; +} + +.icofont-connection:before +{ + content: "\eeef"; +} + +.icofont-console:before +{ + content: "\eef0"; +} + +.icofont-contacts:before +{ + content: "\eef1"; +} + +.icofont-contrast:before +{ + content: "\eef2"; +} + +.icofont-copyright:before +{ + content: "\eef3"; +} + +.icofont-credit-card:before +{ + content: "\eef4"; +} + +.icofont-crop:before +{ + content: "\eef5"; +} + +.icofont-crown:before +{ + content: "\eef6"; +} + +.icofont-cube:before +{ + content: "\eef7"; +} + +.icofont-cubes:before +{ + content: "\eef8"; +} + +.icofont-dashboard-web:before +{ + content: "\eef9"; +} + +.icofont-dashboard:before +{ + content: "\eefa"; +} + +.icofont-data:before +{ + content: "\eefb"; +} + +.icofont-database-add:before +{ + content: "\eefc"; +} + +.icofont-database-locked:before +{ + content: "\eefd"; +} + +.icofont-database-remove:before +{ + content: "\eefe"; +} + +.icofont-database:before +{ + content: "\eeff"; +} + +.icofont-delete:before +{ + content: "\ef00"; +} + +.icofont-diamond:before +{ + content: "\ef01"; +} + +.icofont-dice-multiple:before +{ + content: "\ef02"; +} + +.icofont-dice:before +{ + content: "\ef03"; +} + +.icofont-disc:before +{ + content: "\ef04"; +} + +.icofont-diskette:before +{ + content: "\ef05"; +} + +.icofont-document-folder:before +{ + content: "\ef06"; +} + +.icofont-download-alt:before +{ + content: "\ef07"; +} + +.icofont-download:before +{ + content: "\ef08"; +} + +.icofont-downloaded:before +{ + content: "\ef09"; +} + +.icofont-drag:before +{ + content: "\ef0a"; +} + +.icofont-drag1:before +{ + content: "\ef0b"; +} + +.icofont-drag2:before +{ + content: "\ef0c"; +} + +.icofont-drag3:before +{ + content: "\ef0d"; +} + +.icofont-earth:before +{ + content: "\ef0e"; +} + +.icofont-ebook:before +{ + content: "\ef0f"; +} + +.icofont-edit:before +{ + content: "\ef10"; +} + +.icofont-eject:before +{ + content: "\ef11"; +} + +.icofont-email:before +{ + content: "\ef12"; +} + +.icofont-envelope-open:before +{ + content: "\ef13"; +} + +.icofont-envelope:before +{ + content: "\ef14"; +} + +.icofont-eraser:before +{ + content: "\ef15"; +} + +.icofont-error:before +{ + content: "\ef16"; +} + +.icofont-excavator:before +{ + content: "\ef17"; +} + +.icofont-exchange:before +{ + content: "\ef18"; +} + +.icofont-exclamation-circle:before +{ + content: "\ef19"; +} + +.icofont-exclamation-square:before +{ + content: "\ef1a"; +} + +.icofont-exclamation-tringle:before +{ + content: "\ef1b"; +} + +.icofont-exclamation:before +{ + content: "\ef1c"; +} + +.icofont-exit:before +{ + content: "\ef1d"; +} + +.icofont-expand:before +{ + content: "\ef1e"; +} + +.icofont-external-link:before +{ + content: "\ef1f"; +} + +.icofont-external:before +{ + content: "\ef20"; +} + +.icofont-eye-alt:before +{ + content: "\ef21"; +} + +.icofont-eye-blocked:before +{ + content: "\ef22"; +} + +.icofont-eye-dropper:before +{ + content: "\ef23"; +} + +.icofont-eye:before +{ + content: "\ef24"; +} + +.icofont-favourite:before +{ + content: "\ef25"; +} + +.icofont-fax:before +{ + content: "\ef26"; +} + +.icofont-file-fill:before +{ + content: "\ef27"; +} + +.icofont-film:before +{ + content: "\ef28"; +} + +.icofont-filter:before +{ + content: "\ef29"; +} + +.icofont-fire-alt:before +{ + content: "\ef2a"; +} + +.icofont-fire-burn:before +{ + content: "\ef2b"; +} + +.icofont-fire:before +{ + content: "\ef2c"; +} + +.icofont-flag-alt-1:before +{ + content: "\ef2d"; +} + +.icofont-flag-alt-2:before +{ + content: "\ef2e"; +} + +.icofont-flag:before +{ + content: "\ef2f"; +} + +.icofont-flame-torch:before +{ + content: "\ef30"; +} + +.icofont-flash-light:before +{ + content: "\ef31"; +} + +.icofont-flash:before +{ + content: "\ef32"; +} + +.icofont-flask:before +{ + content: "\ef33"; +} + +.icofont-focus:before +{ + content: "\ef34"; +} + +.icofont-folder-open:before +{ + content: "\ef35"; +} + +.icofont-folder:before +{ + content: "\ef36"; +} + +.icofont-foot-print:before +{ + content: "\ef37"; +} + +.icofont-garbage:before +{ + content: "\ef38"; +} + +.icofont-gear-alt:before +{ + content: "\ef39"; +} + +.icofont-gear:before +{ + content: "\ef3a"; +} + +.icofont-gears:before +{ + content: "\ef3b"; +} + +.icofont-gift:before +{ + content: "\ef3c"; +} + +.icofont-glass:before +{ + content: "\ef3d"; +} + +.icofont-globe:before +{ + content: "\ef3e"; +} + +.icofont-graffiti:before +{ + content: "\ef3f"; +} + +.icofont-grocery:before +{ + content: "\ef40"; +} + +.icofont-hand:before +{ + content: "\ef41"; +} + +.icofont-hanger:before +{ + content: "\ef42"; +} + +.icofont-hard-disk:before +{ + content: "\ef43"; +} + +.icofont-heart-alt:before +{ + content: "\ef44"; +} + +.icofont-heart:before +{ + content: "\ef45"; +} + +.icofont-history:before +{ + content: "\ef46"; +} + +.icofont-home:before +{ + content: "\ef47"; +} + +.icofont-horn:before +{ + content: "\ef48"; +} + +.icofont-hour-glass:before +{ + content: "\ef49"; +} + +.icofont-id:before +{ + content: "\ef4a"; +} + +.icofont-image:before +{ + content: "\ef4b"; +} + +.icofont-inbox:before +{ + content: "\ef4c"; +} + +.icofont-infinite:before +{ + content: "\ef4d"; +} + +.icofont-info-circle:before +{ + content: "\ef4e"; +} + +.icofont-info-square:before +{ + content: "\ef4f"; +} + +.icofont-info:before +{ + content: "\ef50"; +} + +.icofont-institution:before +{ + content: "\ef51"; +} + +.icofont-interface:before +{ + content: "\ef52"; +} + +.icofont-invisible:before +{ + content: "\ef53"; +} + +.icofont-jacket:before +{ + content: "\ef54"; +} + +.icofont-jar:before +{ + content: "\ef55"; +} + +.icofont-jewlery:before +{ + content: "\ef56"; +} + +.icofont-karate:before +{ + content: "\ef57"; +} + +.icofont-key-hole:before +{ + content: "\ef58"; +} + +.icofont-key:before +{ + content: "\ef59"; +} + +.icofont-label:before +{ + content: "\ef5a"; +} + +.icofont-lamp:before +{ + content: "\ef5b"; +} + +.icofont-layers:before +{ + content: "\ef5c"; +} + +.icofont-layout:before +{ + content: "\ef5d"; +} + +.icofont-leaf:before +{ + content: "\ef5e"; +} + +.icofont-leaflet:before +{ + content: "\ef5f"; +} + +.icofont-learn:before +{ + content: "\ef60"; +} + +.icofont-lego:before +{ + content: "\ef61"; +} + +.icofont-lens:before +{ + content: "\ef62"; +} + +.icofont-letter:before +{ + content: "\ef63"; +} + +.icofont-letterbox:before +{ + content: "\ef64"; +} + +.icofont-library:before +{ + content: "\ef65"; +} + +.icofont-license:before +{ + content: "\ef66"; +} + +.icofont-life-bouy:before +{ + content: "\ef67"; +} + +.icofont-life-buoy:before +{ + content: "\ef68"; +} + +.icofont-life-jacket:before +{ + content: "\ef69"; +} + +.icofont-life-ring:before +{ + content: "\ef6a"; +} + +.icofont-light-bulb:before +{ + content: "\ef6b"; +} + +.icofont-lighter:before +{ + content: "\ef6c"; +} + +.icofont-lightning-ray:before +{ + content: "\ef6d"; +} + +.icofont-like:before +{ + content: "\ef6e"; +} + +.icofont-line-height:before +{ + content: "\ef6f"; +} + +.icofont-link-alt:before +{ + content: "\ef70"; +} + +.icofont-link:before +{ + content: "\ef71"; +} + +.icofont-list:before +{ + content: "\ef72"; +} + +.icofont-listening:before +{ + content: "\ef73"; +} + +.icofont-listine-dots:before +{ + content: "\ef74"; +} + +.icofont-listing-box:before +{ + content: "\ef75"; +} + +.icofont-listing-number:before +{ + content: "\ef76"; +} + +.icofont-live-support:before +{ + content: "\ef77"; +} + +.icofont-location-arrow:before +{ + content: "\ef78"; +} + +.icofont-location-pin:before +{ + content: "\ef79"; +} + +.icofont-lock:before +{ + content: "\ef7a"; +} + +.icofont-login:before +{ + content: "\ef7b"; +} + +.icofont-logout:before +{ + content: "\ef7c"; +} + +.icofont-lollipop:before +{ + content: "\ef7d"; +} + +.icofont-long-drive:before +{ + content: "\ef7e"; +} + +.icofont-look:before +{ + content: "\ef7f"; +} + +.icofont-loop:before +{ + content: "\ef80"; +} + +.icofont-luggage:before +{ + content: "\ef81"; +} + +.icofont-lunch:before +{ + content: "\ef82"; +} + +.icofont-lungs:before +{ + content: "\ef83"; +} + +.icofont-magic-alt:before +{ + content: "\ef84"; +} + +.icofont-magic:before +{ + content: "\ef85"; +} + +.icofont-magnet:before +{ + content: "\ef86"; +} + +.icofont-mail-box:before +{ + content: "\ef87"; +} + +.icofont-mail:before +{ + content: "\ef88"; +} + +.icofont-male:before +{ + content: "\ef89"; +} + +.icofont-map-pins:before +{ + content: "\ef8a"; +} + +.icofont-map:before +{ + content: "\ef8b"; +} + +.icofont-maximize:before +{ + content: "\ef8c"; +} + +.icofont-measure:before +{ + content: "\ef8d"; +} + +.icofont-medicine:before +{ + content: "\ef8e"; +} + +.icofont-mega-phone:before +{ + content: "\ef8f"; +} + +.icofont-megaphone-alt:before +{ + content: "\ef90"; +} + +.icofont-megaphone:before +{ + content: "\ef91"; +} + +.icofont-memorial:before +{ + content: "\ef92"; +} + +.icofont-memory-card:before +{ + content: "\ef93"; +} + +.icofont-mic-mute:before +{ + content: "\ef94"; +} + +.icofont-mic:before +{ + content: "\ef95"; +} + +.icofont-military:before +{ + content: "\ef96"; +} + +.icofont-mill:before +{ + content: "\ef97"; +} + +.icofont-minus-circle:before +{ + content: "\ef98"; +} + +.icofont-minus-square:before +{ + content: "\ef99"; +} + +.icofont-minus:before +{ + content: "\ef9a"; +} + +.icofont-mobile-phone:before +{ + content: "\ef9b"; +} + +.icofont-molecule:before +{ + content: "\ef9c"; +} + +.icofont-money:before +{ + content: "\ef9d"; +} + +.icofont-moon:before +{ + content: "\ef9e"; +} + +.icofont-mop:before +{ + content: "\ef9f"; +} + +.icofont-muffin:before +{ + content: "\efa0"; +} + +.icofont-mustache:before +{ + content: "\efa1"; +} + +.icofont-navigation-menu:before +{ + content: "\efa2"; +} + +.icofont-navigation:before +{ + content: "\efa3"; +} + +.icofont-network-tower:before +{ + content: "\efa4"; +} + +.icofont-network:before +{ + content: "\efa5"; +} + +.icofont-news:before +{ + content: "\efa6"; +} + +.icofont-newspaper:before +{ + content: "\efa7"; +} + +.icofont-no-smoking:before +{ + content: "\efa8"; +} + +.icofont-not-allowed:before +{ + content: "\efa9"; +} + +.icofont-notebook:before +{ + content: "\efaa"; +} + +.icofont-notepad:before +{ + content: "\efab"; +} + +.icofont-notification:before +{ + content: "\efac"; +} + +.icofont-numbered:before +{ + content: "\efad"; +} + +.icofont-opposite:before +{ + content: "\efae"; +} + +.icofont-optic:before +{ + content: "\efaf"; +} + +.icofont-options:before +{ + content: "\efb0"; +} + +.icofont-package:before +{ + content: "\efb1"; +} + +.icofont-page:before +{ + content: "\efb2"; +} + +.icofont-paint:before +{ + content: "\efb3"; +} + +.icofont-paper-plane:before +{ + content: "\efb4"; +} + +.icofont-paperclip:before +{ + content: "\efb5"; +} + +.icofont-papers:before +{ + content: "\efb6"; +} + +.icofont-pay:before +{ + content: "\efb7"; +} + +.icofont-penguin-linux:before +{ + content: "\efb8"; +} + +.icofont-pestle:before +{ + content: "\efb9"; +} + +.icofont-phone-circle:before +{ + content: "\efba"; +} + +.icofont-phone:before +{ + content: "\efbb"; +} + +.icofont-picture:before +{ + content: "\efbc"; +} + +.icofont-pine:before +{ + content: "\efbd"; +} + +.icofont-pixels:before +{ + content: "\efbe"; +} + +.icofont-plugin:before +{ + content: "\efbf"; +} + +.icofont-plus-circle:before +{ + content: "\efc0"; +} + +.icofont-plus-square:before +{ + content: "\efc1"; +} + +.icofont-plus:before +{ + content: "\efc2"; +} + +.icofont-polygonal:before +{ + content: "\efc3"; +} + +.icofont-power:before +{ + content: "\efc4"; +} + +.icofont-price:before +{ + content: "\efc5"; +} + +.icofont-print:before +{ + content: "\efc6"; +} + +.icofont-puzzle:before +{ + content: "\efc7"; +} + +.icofont-qr-code:before +{ + content: "\efc8"; +} + +.icofont-queen:before +{ + content: "\efc9"; +} + +.icofont-question-circle:before +{ + content: "\efca"; +} + +.icofont-question-square:before +{ + content: "\efcb"; +} + +.icofont-question:before +{ + content: "\efcc"; +} + +.icofont-quote-left:before +{ + content: "\efcd"; +} + +.icofont-quote-right:before +{ + content: "\efce"; +} + +.icofont-random:before +{ + content: "\efcf"; +} + +.icofont-recycle:before +{ + content: "\efd0"; +} + +.icofont-refresh:before +{ + content: "\efd1"; +} + +.icofont-repair:before +{ + content: "\efd2"; +} + +.icofont-reply-all:before +{ + content: "\efd3"; +} + +.icofont-reply:before +{ + content: "\efd4"; +} + +.icofont-resize:before +{ + content: "\efd5"; +} + +.icofont-responsive:before +{ + content: "\efd6"; +} + +.icofont-retweet:before +{ + content: "\efd7"; +} + +.icofont-road:before +{ + content: "\efd8"; +} + +.icofont-robot:before +{ + content: "\efd9"; +} + +.icofont-royal:before +{ + content: "\efda"; +} + +.icofont-rss-feed:before +{ + content: "\efdb"; +} + +.icofont-safety:before +{ + content: "\efdc"; +} + +.icofont-sale-discount:before +{ + content: "\efdd"; +} + +.icofont-satellite:before +{ + content: "\efde"; +} + +.icofont-send-mail:before +{ + content: "\efdf"; +} + +.icofont-server:before +{ + content: "\efe0"; +} + +.icofont-settings-alt:before +{ + content: "\efe1"; +} + +.icofont-settings:before +{ + content: "\efe2"; +} + +.icofont-share-alt:before +{ + content: "\efe3"; +} + +.icofont-share-boxed:before +{ + content: "\efe4"; +} + +.icofont-share:before +{ + content: "\efe5"; +} + +.icofont-shield:before +{ + content: "\efe6"; +} + +.icofont-shopping-cart:before +{ + content: "\efe7"; +} + +.icofont-sign-in:before +{ + content: "\efe8"; +} + +.icofont-sign-out:before +{ + content: "\efe9"; +} + +.icofont-signal:before +{ + content: "\efea"; +} + +.icofont-site-map:before +{ + content: "\efeb"; +} + +.icofont-smart-phone:before +{ + content: "\efec"; +} + +.icofont-soccer:before +{ + content: "\efed"; +} + +.icofont-sort-alt:before +{ + content: "\efee"; +} + +.icofont-sort:before +{ + content: "\efef"; +} + +.icofont-space:before +{ + content: "\eff0"; +} + +.icofont-spanner:before +{ + content: "\eff1"; +} + +.icofont-speech-comments:before +{ + content: "\eff2"; +} + +.icofont-speed-meter:before +{ + content: "\eff3"; +} + +.icofont-spinner-alt-1:before +{ + content: "\eff4"; +} + +.icofont-spinner-alt-2:before +{ + content: "\eff5"; +} + +.icofont-spinner-alt-3:before +{ + content: "\eff6"; +} + +.icofont-spinner-alt-4:before +{ + content: "\eff7"; +} + +.icofont-spinner-alt-5:before +{ + content: "\eff8"; +} + +.icofont-spinner-alt-6:before +{ + content: "\eff9"; +} + +.icofont-spinner:before +{ + content: "\effa"; +} + +.icofont-spreadsheet:before +{ + content: "\effb"; +} + +.icofont-square:before +{ + content: "\effc"; +} + +.icofont-ssl-security:before +{ + content: "\effd"; +} + +.icofont-star-alt-1:before +{ + content: "\effe"; +} + +.icofont-star-alt-2:before +{ + content: "\efff"; +} + +.icofont-star:before +{ + content: "\f000"; +} + +.icofont-street-view:before +{ + content: "\f001"; +} + +.icofont-support-faq:before +{ + content: "\f002"; +} + +.icofont-tack-pin:before +{ + content: "\f003"; +} + +.icofont-tag:before +{ + content: "\f004"; +} + +.icofont-tags:before +{ + content: "\f005"; +} + +.icofont-tasks-alt:before +{ + content: "\f006"; +} + +.icofont-tasks:before +{ + content: "\f007"; +} + +.icofont-telephone:before +{ + content: "\f008"; +} + +.icofont-telescope:before +{ + content: "\f009"; +} + +.icofont-terminal:before +{ + content: "\f00a"; +} + +.icofont-thumbs-down:before +{ + content: "\f00b"; +} + +.icofont-thumbs-up:before +{ + content: "\f00c"; +} + +.icofont-tick-boxed:before +{ + content: "\f00d"; +} + +.icofont-tick-mark:before +{ + content: "\f00e"; +} + +.icofont-ticket:before +{ + content: "\f00f"; +} + +.icofont-tie:before +{ + content: "\f010"; +} + +.icofont-toggle-off:before +{ + content: "\f011"; +} + +.icofont-toggle-on:before +{ + content: "\f012"; +} + +.icofont-tools-alt-2:before +{ + content: "\f013"; +} + +.icofont-tools:before +{ + content: "\f014"; +} + +.icofont-touch:before +{ + content: "\f015"; +} + +.icofont-traffic-light:before +{ + content: "\f016"; +} + +.icofont-transparent:before +{ + content: "\f017"; +} + +.icofont-tree:before +{ + content: "\f018"; +} + +.icofont-unique-idea:before +{ + content: "\f019"; +} + +.icofont-unlock:before +{ + content: "\f01a"; +} + +.icofont-unlocked:before +{ + content: "\f01b"; +} + +.icofont-upload-alt:before +{ + content: "\f01c"; +} + +.icofont-upload:before +{ + content: "\f01d"; +} + +.icofont-usb-drive:before +{ + content: "\f01e"; +} + +.icofont-usb:before +{ + content: "\f01f"; +} + +.icofont-vector-path:before +{ + content: "\f020"; +} + +.icofont-verification-check:before +{ + content: "\f021"; +} + +.icofont-wall-clock:before +{ + content: "\f022"; +} + +.icofont-wall:before +{ + content: "\f023"; +} + +.icofont-wallet:before +{ + content: "\f024"; +} + +.icofont-warning-alt:before +{ + content: "\f025"; +} + +.icofont-warning:before +{ + content: "\f026"; +} + +.icofont-water-drop:before +{ + content: "\f027"; +} + +.icofont-web:before +{ + content: "\f028"; +} + +.icofont-wheelchair:before +{ + content: "\f029"; +} + +.icofont-wifi-alt:before +{ + content: "\f02a"; +} + +.icofont-wifi:before +{ + content: "\f02b"; +} + +.icofont-world:before +{ + content: "\f02c"; +} + +.icofont-zigzag:before +{ + content: "\f02d"; +} + +.icofont-zipped:before +{ + content: "\f02e"; +} + +.icofont-xs +{ + font-size: .5em; +} + +.icofont-sm +{ + font-size: .75em; +} + +.icofont-md +{ + font-size: 1.25em; +} + +.icofont-lg +{ + font-size: 1.5em; +} + +.icofont-1x +{ + font-size: 1em; +} + +.icofont-2x +{ + font-size: 2em; +} + +.icofont-3x +{ + font-size: 3em; +} + +.icofont-4x +{ + font-size: 4em; +} + +.icofont-5x +{ + font-size: 5em; +} + +.icofont-6x +{ + font-size: 6em; +} + +.icofont-7x +{ + font-size: 7em; +} + +.icofont-8x +{ + font-size: 8em; +} + +.icofont-9x +{ + font-size: 9em; +} + +.icofont-10x +{ + font-size: 10em; +} + +.icofont-fw +{ + text-align: center; + width: 1.25em; +} + +.icofont-ul +{ + list-style-type: none; + padding-left: 0; + margin-left: 0; +} + +.icofont-ul > li +{ + position: relative; + line-height: 2em; +} + +.icofont-ul > li .icofont +{ + display: inline-block; + vertical-align: middle; +} + +.icofont-border +{ + border: solid 0.08em #f1f1f1; + border-radius: .1em; + padding: .2em .25em .15em; +} + +.icofont-pull-left +{ + float: left; +} + +.icofont-pull-right +{ + float: right; +} + +.icofont.icofont-pull-left +{ + margin-right: .3em; +} + +.icofont.icofont-pull-right +{ + margin-left: .3em; +} + +.icofont-spin +{ + -webkit-animation: icofont-spin 2s infinite linear; + animation: icofont-spin 2s infinite linear; + display: inline-block; +} + +.icofont-pulse +{ + -webkit-animation: icofont-spin 1s infinite steps(8); + animation: icofont-spin 1s infinite steps(8); + display: inline-block; +} + +@-webkit-keyframes icofont-spin +{ + 0% + { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + + 100% + { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +@keyframes icofont-spin +{ + 0% + { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + + 100% + { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +.icofont-rotate-90 +{ + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; + -webkit-transform: rotate(90deg); + transform: rotate(90deg); +} + +.icofont-rotate-180 +{ + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; + -webkit-transform: rotate(180deg); + transform: rotate(180deg); +} + +.icofont-rotate-270 +{ + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; + -webkit-transform: rotate(270deg); + transform: rotate(270deg); +} + +.icofont-flip-horizontal +{ + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; + -webkit-transform: scale(-1, 1); + transform: scale(-1, 1); +} + +.icofont-flip-vertical +{ + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + -webkit-transform: scale(1, -1); + transform: scale(1, -1); +} + +.icofont-flip-horizontal.icofont-flip-vertical +{ + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + -webkit-transform: scale(-1, -1); + transform: scale(-1, -1); +} + +:root .icofont-rotate-90, + :root .icofont-rotate-180, + :root .icofont-rotate-270, + :root .icofont-flip-horizontal, + :root .icofont-flip-vertical +{ + -webkit-filter: none; + filter: none; + display: inline-block; +} + +.icofont-inverse +{ + color: #fff; +} + +.sr-only +{ + border: 0; + clip: rect(0, 0, 0, 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; +} + +.sr-only-focusable:active, + .sr-only-focusable:focus +{ + clip: auto; + height: auto; + margin: 0; + overflow: visible; + position: static; + width: auto; +} + \ No newline at end of file diff --git a/public/icofont/icofont.min.css b/public/icofont/icofont.min.css new file mode 100644 index 0000000..2a075a5 --- /dev/null +++ b/public/icofont/icofont.min.css @@ -0,0 +1,7 @@ +/*! +* @package IcoFont +* @version 1.0.1 +* @author IcoFont https://icofont.com +* @copyright Copyright (c) 2015 - 2018 IcoFont +* @license - https://icofont.com/license/ +*/@font-face{font-family:IcoFont;font-weight:400;font-style:Regular;src:url(fonts/icofont.woff2) format("woff2"),url(fonts/icofont.woff) format("woff")}[class*=" icofont-"],[class^=icofont-]{font-family:IcoFont!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr;line-height:1;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.icofont-angry-monster:before{content:"\e800"}.icofont-bathtub:before{content:"\e801"}.icofont-bird-wings:before{content:"\e802"}.icofont-bow:before{content:"\e803"}.icofont-castle:before{content:"\e804"}.icofont-circuit:before{content:"\e805"}.icofont-crown-king:before{content:"\e806"}.icofont-crown-queen:before{content:"\e807"}.icofont-dart:before{content:"\e808"}.icofont-disability-race:before{content:"\e809"}.icofont-diving-goggle:before{content:"\e80a"}.icofont-eye-open:before{content:"\e80b"}.icofont-flora-flower:before{content:"\e80c"}.icofont-flora:before{content:"\e80d"}.icofont-gift-box:before{content:"\e80e"}.icofont-halloween-pumpkin:before{content:"\e80f"}.icofont-hand-power:before{content:"\e810"}.icofont-hand-thunder:before{content:"\e811"}.icofont-king-monster:before{content:"\e812"}.icofont-love:before{content:"\e813"}.icofont-magician-hat:before{content:"\e814"}.icofont-native-american:before{content:"\e815"}.icofont-owl-look:before{content:"\e816"}.icofont-phoenix:before{content:"\e817"}.icofont-robot-face:before{content:"\e818"}.icofont-sand-clock:before{content:"\e819"}.icofont-shield-alt:before{content:"\e81a"}.icofont-ship-wheel:before{content:"\e81b"}.icofont-skull-danger:before{content:"\e81c"}.icofont-skull-face:before{content:"\e81d"}.icofont-snowmobile:before{content:"\e81e"}.icofont-space-shuttle:before{content:"\e81f"}.icofont-star-shape:before{content:"\e820"}.icofont-swirl:before{content:"\e821"}.icofont-tattoo-wing:before{content:"\e822"}.icofont-throne:before{content:"\e823"}.icofont-tree-alt:before{content:"\e824"}.icofont-triangle:before{content:"\e825"}.icofont-unity-hand:before{content:"\e826"}.icofont-weed:before{content:"\e827"}.icofont-woman-bird:before{content:"\e828"}.icofont-bat:before{content:"\e829"}.icofont-bear-face:before{content:"\e82a"}.icofont-bear-tracks:before{content:"\e82b"}.icofont-bear:before{content:"\e82c"}.icofont-bird-alt:before{content:"\e82d"}.icofont-bird-flying:before{content:"\e82e"}.icofont-bird:before{content:"\e82f"}.icofont-birds:before{content:"\e830"}.icofont-bone:before{content:"\e831"}.icofont-bull:before{content:"\e832"}.icofont-butterfly-alt:before{content:"\e833"}.icofont-butterfly:before{content:"\e834"}.icofont-camel-alt:before{content:"\e835"}.icofont-camel-head:before{content:"\e836"}.icofont-camel:before{content:"\e837"}.icofont-cat-alt-1:before{content:"\e838"}.icofont-cat-alt-2:before{content:"\e839"}.icofont-cat-alt-3:before{content:"\e83a"}.icofont-cat-dog:before{content:"\e83b"}.icofont-cat-face:before{content:"\e83c"}.icofont-cat:before{content:"\e83d"}.icofont-cow-head:before{content:"\e83e"}.icofont-cow:before{content:"\e83f"}.icofont-crab:before{content:"\e840"}.icofont-crocodile:before{content:"\e841"}.icofont-deer-head:before{content:"\e842"}.icofont-dog-alt:before{content:"\e843"}.icofont-dog-barking:before{content:"\e844"}.icofont-dog:before{content:"\e845"}.icofont-dolphin:before{content:"\e846"}.icofont-duck-tracks:before{content:"\e847"}.icofont-eagle-head:before{content:"\e848"}.icofont-eaten-fish:before{content:"\e849"}.icofont-elephant-alt:before{content:"\e84a"}.icofont-elephant-head-alt:before{content:"\e84b"}.icofont-elephant-head:before{content:"\e84c"}.icofont-elephant:before{content:"\e84d"}.icofont-elk:before{content:"\e84e"}.icofont-fish-1:before{content:"\e84f"}.icofont-fish-2:before{content:"\e850"}.icofont-fish-3:before{content:"\e851"}.icofont-fish-4:before{content:"\e852"}.icofont-fish-5:before{content:"\e853"}.icofont-fish:before{content:"\e854"}.icofont-fox-alt:before{content:"\e855"}.icofont-fox:before{content:"\e856"}.icofont-frog-tracks:before{content:"\e857"}.icofont-frog:before{content:"\e858"}.icofont-froggy:before{content:"\e859"}.icofont-giraffe-head-1:before{content:"\e85a"}.icofont-giraffe-head-2:before{content:"\e85b"}.icofont-giraffe-head:before{content:"\e85c"}.icofont-giraffe:before{content:"\e85d"}.icofont-goat-head:before{content:"\e85e"}.icofont-gorilla:before{content:"\e85f"}.icofont-hen-tracks:before{content:"\e860"}.icofont-horse-head-1:before{content:"\e861"}.icofont-horse-head-2:before{content:"\e862"}.icofont-horse-head:before{content:"\e863"}.icofont-horse-tracks:before{content:"\e864"}.icofont-jellyfish:before{content:"\e865"}.icofont-kangaroo:before{content:"\e866"}.icofont-lemur:before{content:"\e867"}.icofont-lion-head-1:before{content:"\e868"}.icofont-lion-head-2:before{content:"\e869"}.icofont-lion-head:before{content:"\e86a"}.icofont-lion:before{content:"\e86b"}.icofont-monkey-2:before{content:"\e86c"}.icofont-monkey-3:before{content:"\e86d"}.icofont-monkey-face:before{content:"\e86e"}.icofont-monkey:before{content:"\e86f"}.icofont-octopus-alt:before{content:"\e870"}.icofont-octopus:before{content:"\e871"}.icofont-owl:before{content:"\e872"}.icofont-panda-face:before{content:"\e873"}.icofont-panda:before{content:"\e874"}.icofont-panther:before{content:"\e875"}.icofont-parrot-lip:before{content:"\e876"}.icofont-parrot:before{content:"\e877"}.icofont-paw:before{content:"\e878"}.icofont-pelican:before{content:"\e879"}.icofont-penguin:before{content:"\e87a"}.icofont-pig-face:before{content:"\e87b"}.icofont-pig:before{content:"\e87c"}.icofont-pigeon-1:before{content:"\e87d"}.icofont-pigeon-2:before{content:"\e87e"}.icofont-pigeon:before{content:"\e87f"}.icofont-rabbit:before{content:"\e880"}.icofont-rat:before{content:"\e881"}.icofont-rhino-head:before{content:"\e882"}.icofont-rhino:before{content:"\e883"}.icofont-rooster:before{content:"\e884"}.icofont-seahorse:before{content:"\e885"}.icofont-seal:before{content:"\e886"}.icofont-shrimp-alt:before{content:"\e887"}.icofont-shrimp:before{content:"\e888"}.icofont-snail-1:before{content:"\e889"}.icofont-snail-2:before{content:"\e88a"}.icofont-snail-3:before{content:"\e88b"}.icofont-snail:before{content:"\e88c"}.icofont-snake:before{content:"\e88d"}.icofont-squid:before{content:"\e88e"}.icofont-squirrel:before{content:"\e88f"}.icofont-tiger-face:before{content:"\e890"}.icofont-tiger:before{content:"\e891"}.icofont-turtle:before{content:"\e892"}.icofont-whale:before{content:"\e893"}.icofont-woodpecker:before{content:"\e894"}.icofont-zebra:before{content:"\e895"}.icofont-brand-acer:before{content:"\e896"}.icofont-brand-adidas:before{content:"\e897"}.icofont-brand-adobe:before{content:"\e898"}.icofont-brand-air-new-zealand:before{content:"\e899"}.icofont-brand-airbnb:before{content:"\e89a"}.icofont-brand-aircell:before{content:"\e89b"}.icofont-brand-airtel:before{content:"\e89c"}.icofont-brand-alcatel:before{content:"\e89d"}.icofont-brand-alibaba:before{content:"\e89e"}.icofont-brand-aliexpress:before{content:"\e89f"}.icofont-brand-alipay:before{content:"\e8a0"}.icofont-brand-amazon:before{content:"\e8a1"}.icofont-brand-amd:before{content:"\e8a2"}.icofont-brand-american-airlines:before{content:"\e8a3"}.icofont-brand-android-robot:before{content:"\e8a4"}.icofont-brand-android:before{content:"\e8a5"}.icofont-brand-aol:before{content:"\e8a6"}.icofont-brand-apple:before{content:"\e8a7"}.icofont-brand-appstore:before{content:"\e8a8"}.icofont-brand-asus:before{content:"\e8a9"}.icofont-brand-ati:before{content:"\e8aa"}.icofont-brand-att:before{content:"\e8ab"}.icofont-brand-audi:before{content:"\e8ac"}.icofont-brand-axiata:before{content:"\e8ad"}.icofont-brand-bada:before{content:"\e8ae"}.icofont-brand-bbc:before{content:"\e8af"}.icofont-brand-bing:before{content:"\e8b0"}.icofont-brand-blackberry:before{content:"\e8b1"}.icofont-brand-bmw:before{content:"\e8b2"}.icofont-brand-box:before{content:"\e8b3"}.icofont-brand-burger-king:before{content:"\e8b4"}.icofont-brand-business-insider:before{content:"\e8b5"}.icofont-brand-buzzfeed:before{content:"\e8b6"}.icofont-brand-cannon:before{content:"\e8b7"}.icofont-brand-casio:before{content:"\e8b8"}.icofont-brand-china-mobile:before{content:"\e8b9"}.icofont-brand-china-telecom:before{content:"\e8ba"}.icofont-brand-china-unicom:before{content:"\e8bb"}.icofont-brand-cisco:before{content:"\e8bc"}.icofont-brand-citibank:before{content:"\e8bd"}.icofont-brand-cnet:before{content:"\e8be"}.icofont-brand-cnn:before{content:"\e8bf"}.icofont-brand-cocal-cola:before{content:"\e8c0"}.icofont-brand-compaq:before{content:"\e8c1"}.icofont-brand-debian:before{content:"\e8c2"}.icofont-brand-delicious:before{content:"\e8c3"}.icofont-brand-dell:before{content:"\e8c4"}.icofont-brand-designbump:before{content:"\e8c5"}.icofont-brand-designfloat:before{content:"\e8c6"}.icofont-brand-disney:before{content:"\e8c7"}.icofont-brand-dodge:before{content:"\e8c8"}.icofont-brand-dove:before{content:"\e8c9"}.icofont-brand-drupal:before{content:"\e8ca"}.icofont-brand-ebay:before{content:"\e8cb"}.icofont-brand-eleven:before{content:"\e8cc"}.icofont-brand-emirates:before{content:"\e8cd"}.icofont-brand-espn:before{content:"\e8ce"}.icofont-brand-etihad-airways:before{content:"\e8cf"}.icofont-brand-etisalat:before{content:"\e8d0"}.icofont-brand-etsy:before{content:"\e8d1"}.icofont-brand-fastrack:before{content:"\e8d2"}.icofont-brand-fedex:before{content:"\e8d3"}.icofont-brand-ferrari:before{content:"\e8d4"}.icofont-brand-fitbit:before{content:"\e8d5"}.icofont-brand-flikr:before{content:"\e8d6"}.icofont-brand-forbes:before{content:"\e8d7"}.icofont-brand-foursquare:before{content:"\e8d8"}.icofont-brand-foxconn:before{content:"\e8d9"}.icofont-brand-fujitsu:before{content:"\e8da"}.icofont-brand-general-electric:before{content:"\e8db"}.icofont-brand-gillette:before{content:"\e8dc"}.icofont-brand-gizmodo:before{content:"\e8dd"}.icofont-brand-gnome:before{content:"\e8de"}.icofont-brand-google:before{content:"\e8df"}.icofont-brand-gopro:before{content:"\e8e0"}.icofont-brand-gucci:before{content:"\e8e1"}.icofont-brand-hallmark:before{content:"\e8e2"}.icofont-brand-hi5:before{content:"\e8e3"}.icofont-brand-honda:before{content:"\e8e4"}.icofont-brand-hp:before{content:"\e8e5"}.icofont-brand-hsbc:before{content:"\e8e6"}.icofont-brand-htc:before{content:"\e8e7"}.icofont-brand-huawei:before{content:"\e8e8"}.icofont-brand-hulu:before{content:"\e8e9"}.icofont-brand-hyundai:before{content:"\e8ea"}.icofont-brand-ibm:before{content:"\e8eb"}.icofont-brand-icofont:before{content:"\e8ec"}.icofont-brand-icq:before{content:"\e8ed"}.icofont-brand-ikea:before{content:"\e8ee"}.icofont-brand-imdb:before{content:"\e8ef"}.icofont-brand-indiegogo:before{content:"\e8f0"}.icofont-brand-intel:before{content:"\e8f1"}.icofont-brand-ipair:before{content:"\e8f2"}.icofont-brand-jaguar:before{content:"\e8f3"}.icofont-brand-java:before{content:"\e8f4"}.icofont-brand-joomla:before{content:"\e8f5"}.icofont-brand-kickstarter:before{content:"\e8f6"}.icofont-brand-kik:before{content:"\e8f7"}.icofont-brand-lastfm:before{content:"\e8f8"}.icofont-brand-lego:before{content:"\e8f9"}.icofont-brand-lenovo:before{content:"\e8fa"}.icofont-brand-levis:before{content:"\e8fb"}.icofont-brand-lexus:before{content:"\e8fc"}.icofont-brand-lg:before{content:"\e8fd"}.icofont-brand-life-hacker:before{content:"\e8fe"}.icofont-brand-linux-mint:before{content:"\e8ff"}.icofont-brand-linux:before{content:"\e900"}.icofont-brand-lionix:before{content:"\e901"}.icofont-brand-loreal:before{content:"\e902"}.icofont-brand-louis-vuitton:before{content:"\e903"}.icofont-brand-mac-os:before{content:"\e904"}.icofont-brand-marvel-app:before{content:"\e905"}.icofont-brand-mashable:before{content:"\e906"}.icofont-brand-mazda:before{content:"\e907"}.icofont-brand-mcdonals:before{content:"\e908"}.icofont-brand-mercedes:before{content:"\e909"}.icofont-brand-micromax:before{content:"\e90a"}.icofont-brand-microsoft:before{content:"\e90b"}.icofont-brand-mobileme:before{content:"\e90c"}.icofont-brand-mobily:before{content:"\e90d"}.icofont-brand-motorola:before{content:"\e90e"}.icofont-brand-msi:before{content:"\e90f"}.icofont-brand-mts:before{content:"\e910"}.icofont-brand-myspace:before{content:"\e911"}.icofont-brand-mytv:before{content:"\e912"}.icofont-brand-nasa:before{content:"\e913"}.icofont-brand-natgeo:before{content:"\e914"}.icofont-brand-nbc:before{content:"\e915"}.icofont-brand-nescafe:before{content:"\e916"}.icofont-brand-nestle:before{content:"\e917"}.icofont-brand-netflix:before{content:"\e918"}.icofont-brand-nexus:before{content:"\e919"}.icofont-brand-nike:before{content:"\e91a"}.icofont-brand-nokia:before{content:"\e91b"}.icofont-brand-nvidia:before{content:"\e91c"}.icofont-brand-omega:before{content:"\e91d"}.icofont-brand-opensuse:before{content:"\e91e"}.icofont-brand-oracle:before{content:"\e91f"}.icofont-brand-panasonic:before{content:"\e920"}.icofont-brand-paypal:before{content:"\e921"}.icofont-brand-pepsi:before{content:"\e922"}.icofont-brand-philips:before{content:"\e923"}.icofont-brand-pizza-hut:before{content:"\e924"}.icofont-brand-playstation:before{content:"\e925"}.icofont-brand-puma:before{content:"\e926"}.icofont-brand-qatar-air:before{content:"\e927"}.icofont-brand-qvc:before{content:"\e928"}.icofont-brand-readernaut:before{content:"\e929"}.icofont-brand-redbull:before{content:"\e92a"}.icofont-brand-reebok:before{content:"\e92b"}.icofont-brand-reuters:before{content:"\e92c"}.icofont-brand-samsung:before{content:"\e92d"}.icofont-brand-sap:before{content:"\e92e"}.icofont-brand-saudia-airlines:before{content:"\e92f"}.icofont-brand-scribd:before{content:"\e930"}.icofont-brand-shell:before{content:"\e931"}.icofont-brand-siemens:before{content:"\e932"}.icofont-brand-sk-telecom:before{content:"\e933"}.icofont-brand-slideshare:before{content:"\e934"}.icofont-brand-smashing-magazine:before{content:"\e935"}.icofont-brand-snapchat:before{content:"\e936"}.icofont-brand-sony-ericsson:before{content:"\e937"}.icofont-brand-sony:before{content:"\e938"}.icofont-brand-soundcloud:before{content:"\e939"}.icofont-brand-sprint:before{content:"\e93a"}.icofont-brand-squidoo:before{content:"\e93b"}.icofont-brand-starbucks:before{content:"\e93c"}.icofont-brand-stc:before{content:"\e93d"}.icofont-brand-steam:before{content:"\e93e"}.icofont-brand-suzuki:before{content:"\e93f"}.icofont-brand-symbian:before{content:"\e940"}.icofont-brand-t-mobile:before{content:"\e941"}.icofont-brand-tango:before{content:"\e942"}.icofont-brand-target:before{content:"\e943"}.icofont-brand-tata-indicom:before{content:"\e944"}.icofont-brand-techcrunch:before{content:"\e945"}.icofont-brand-telenor:before{content:"\e946"}.icofont-brand-teliasonera:before{content:"\e947"}.icofont-brand-tesla:before{content:"\e948"}.icofont-brand-the-verge:before{content:"\e949"}.icofont-brand-thenextweb:before{content:"\e94a"}.icofont-brand-toshiba:before{content:"\e94b"}.icofont-brand-toyota:before{content:"\e94c"}.icofont-brand-tribenet:before{content:"\e94d"}.icofont-brand-ubuntu:before{content:"\e94e"}.icofont-brand-unilever:before{content:"\e94f"}.icofont-brand-vaio:before{content:"\e950"}.icofont-brand-verizon:before{content:"\e951"}.icofont-brand-viber:before{content:"\e952"}.icofont-brand-vodafone:before{content:"\e953"}.icofont-brand-volkswagen:before{content:"\e954"}.icofont-brand-walmart:before{content:"\e955"}.icofont-brand-warnerbros:before{content:"\e956"}.icofont-brand-whatsapp:before{content:"\e957"}.icofont-brand-wikipedia:before{content:"\e958"}.icofont-brand-windows:before{content:"\e959"}.icofont-brand-wire:before{content:"\e95a"}.icofont-brand-wordpress:before{content:"\e95b"}.icofont-brand-xiaomi:before{content:"\e95c"}.icofont-brand-yahoobuzz:before{content:"\e95d"}.icofont-brand-yamaha:before{content:"\e95e"}.icofont-brand-youtube:before{content:"\e95f"}.icofont-brand-zain:before{content:"\e960"}.icofont-bank-alt:before{content:"\e961"}.icofont-bank:before{content:"\e962"}.icofont-barcode:before{content:"\e963"}.icofont-bill-alt:before{content:"\e964"}.icofont-billboard:before{content:"\e965"}.icofont-briefcase-1:before{content:"\e966"}.icofont-briefcase-2:before{content:"\e967"}.icofont-businessman:before{content:"\e968"}.icofont-businesswoman:before{content:"\e969"}.icofont-chair:before{content:"\e96a"}.icofont-coins:before{content:"\e96b"}.icofont-company:before{content:"\e96c"}.icofont-contact-add:before{content:"\e96d"}.icofont-files-stack:before{content:"\e96e"}.icofont-handshake-deal:before{content:"\e96f"}.icofont-id-card:before{content:"\e970"}.icofont-meeting-add:before{content:"\e971"}.icofont-money-bag:before{content:"\e972"}.icofont-pie-chart:before{content:"\e973"}.icofont-presentation-alt:before{content:"\e974"}.icofont-presentation:before{content:"\e975"}.icofont-stamp:before{content:"\e976"}.icofont-stock-mobile:before{content:"\e977"}.icofont-chart-arrows-axis:before{content:"\e978"}.icofont-chart-bar-graph:before{content:"\e979"}.icofont-chart-flow-1:before{content:"\e97a"}.icofont-chart-flow-2:before{content:"\e97b"}.icofont-chart-flow:before{content:"\e97c"}.icofont-chart-growth:before{content:"\e97d"}.icofont-chart-histogram-alt:before{content:"\e97e"}.icofont-chart-histogram:before{content:"\e97f"}.icofont-chart-line-alt:before{content:"\e980"}.icofont-chart-line:before{content:"\e981"}.icofont-chart-pie-alt:before{content:"\e982"}.icofont-chart-pie:before{content:"\e983"}.icofont-chart-radar-graph:before{content:"\e984"}.icofont-architecture-alt:before{content:"\e985"}.icofont-architecture:before{content:"\e986"}.icofont-barricade:before{content:"\e987"}.icofont-bolt:before{content:"\e988"}.icofont-bricks:before{content:"\e989"}.icofont-building-alt:before{content:"\e98a"}.icofont-bull-dozer:before{content:"\e98b"}.icofont-calculations:before{content:"\e98c"}.icofont-cement-mix:before{content:"\e98d"}.icofont-cement-mixer:before{content:"\e98e"}.icofont-concrete-mixer:before{content:"\e98f"}.icofont-danger-zone:before{content:"\e990"}.icofont-drill:before{content:"\e991"}.icofont-eco-energy:before{content:"\e992"}.icofont-eco-environmen:before{content:"\e993"}.icofont-energy-air:before{content:"\e994"}.icofont-energy-oil:before{content:"\e995"}.icofont-energy-savings:before{content:"\e996"}.icofont-energy-solar:before{content:"\e997"}.icofont-energy-water:before{content:"\e998"}.icofont-engineer:before{content:"\e999"}.icofont-fire-extinguisher-alt:before{content:"\e99a"}.icofont-fire-extinguisher:before{content:"\e99b"}.icofont-fix-tools:before{content:"\e99c"}.icofont-fork-lift:before{content:"\e99d"}.icofont-glue-oil:before{content:"\e99e"}.icofont-hammer-alt:before{content:"\e99f"}.icofont-hammer:before{content:"\e9a0"}.icofont-help-robot:before{content:"\e9a1"}.icofont-industries-1:before{content:"\e9a2"}.icofont-industries-2:before{content:"\e9a3"}.icofont-industries-3:before{content:"\e9a4"}.icofont-industries-4:before{content:"\e9a5"}.icofont-industries-5:before{content:"\e9a6"}.icofont-industries:before{content:"\e9a7"}.icofont-labour:before{content:"\e9a8"}.icofont-mining:before{content:"\e9a9"}.icofont-paint-brush:before{content:"\e9aa"}.icofont-pollution:before{content:"\e9ab"}.icofont-power-zone:before{content:"\e9ac"}.icofont-radio-active:before{content:"\e9ad"}.icofont-recycle-alt:before{content:"\e9ae"}.icofont-recycling-man:before{content:"\e9af"}.icofont-safety-hat-light:before{content:"\e9b0"}.icofont-safety-hat:before{content:"\e9b1"}.icofont-saw:before{content:"\e9b2"}.icofont-screw-driver:before{content:"\e9b3"}.icofont-tools-1:before{content:"\e9b4"}.icofont-tools-bag:before{content:"\e9b5"}.icofont-tow-truck:before{content:"\e9b6"}.icofont-trolley:before{content:"\e9b7"}.icofont-trowel:before{content:"\e9b8"}.icofont-under-construction-alt:before{content:"\e9b9"}.icofont-under-construction:before{content:"\e9ba"}.icofont-vehicle-cement:before{content:"\e9bb"}.icofont-vehicle-crane:before{content:"\e9bc"}.icofont-vehicle-delivery-van:before{content:"\e9bd"}.icofont-vehicle-dozer:before{content:"\e9be"}.icofont-vehicle-excavator:before{content:"\e9bf"}.icofont-vehicle-trucktor:before{content:"\e9c0"}.icofont-vehicle-wrecking:before{content:"\e9c1"}.icofont-worker:before{content:"\e9c2"}.icofont-workers-group:before{content:"\e9c3"}.icofont-wrench:before{content:"\e9c4"}.icofont-afghani-false:before{content:"\e9c5"}.icofont-afghani-minus:before{content:"\e9c6"}.icofont-afghani-plus:before{content:"\e9c7"}.icofont-afghani-true:before{content:"\e9c8"}.icofont-afghani:before{content:"\e9c9"}.icofont-baht-false:before{content:"\e9ca"}.icofont-baht-minus:before{content:"\e9cb"}.icofont-baht-plus:before{content:"\e9cc"}.icofont-baht-true:before{content:"\e9cd"}.icofont-baht:before{content:"\e9ce"}.icofont-bitcoin-false:before{content:"\e9cf"}.icofont-bitcoin-minus:before{content:"\e9d0"}.icofont-bitcoin-plus:before{content:"\e9d1"}.icofont-bitcoin-true:before{content:"\e9d2"}.icofont-bitcoin:before{content:"\e9d3"}.icofont-dollar-flase:before{content:"\e9d4"}.icofont-dollar-minus:before{content:"\e9d5"}.icofont-dollar-plus:before{content:"\e9d6"}.icofont-dollar-true:before{content:"\e9d7"}.icofont-dollar:before{content:"\e9d8"}.icofont-dong-false:before{content:"\e9d9"}.icofont-dong-minus:before{content:"\e9da"}.icofont-dong-plus:before{content:"\e9db"}.icofont-dong-true:before{content:"\e9dc"}.icofont-dong:before{content:"\e9dd"}.icofont-euro-false:before{content:"\e9de"}.icofont-euro-minus:before{content:"\e9df"}.icofont-euro-plus:before{content:"\e9e0"}.icofont-euro-true:before{content:"\e9e1"}.icofont-euro:before{content:"\e9e2"}.icofont-frank-false:before{content:"\e9e3"}.icofont-frank-minus:before{content:"\e9e4"}.icofont-frank-plus:before{content:"\e9e5"}.icofont-frank-true:before{content:"\e9e6"}.icofont-frank:before{content:"\e9e7"}.icofont-hryvnia-false:before{content:"\e9e8"}.icofont-hryvnia-minus:before{content:"\e9e9"}.icofont-hryvnia-plus:before{content:"\e9ea"}.icofont-hryvnia-true:before{content:"\e9eb"}.icofont-hryvnia:before{content:"\e9ec"}.icofont-lira-false:before{content:"\e9ed"}.icofont-lira-minus:before{content:"\e9ee"}.icofont-lira-plus:before{content:"\e9ef"}.icofont-lira-true:before{content:"\e9f0"}.icofont-lira:before{content:"\e9f1"}.icofont-peseta-false:before{content:"\e9f2"}.icofont-peseta-minus:before{content:"\e9f3"}.icofont-peseta-plus:before{content:"\e9f4"}.icofont-peseta-true:before{content:"\e9f5"}.icofont-peseta:before{content:"\e9f6"}.icofont-peso-false:before{content:"\e9f7"}.icofont-peso-minus:before{content:"\e9f8"}.icofont-peso-plus:before{content:"\e9f9"}.icofont-peso-true:before{content:"\e9fa"}.icofont-peso:before{content:"\e9fb"}.icofont-pound-false:before{content:"\e9fc"}.icofont-pound-minus:before{content:"\e9fd"}.icofont-pound-plus:before{content:"\e9fe"}.icofont-pound-true:before{content:"\e9ff"}.icofont-pound:before{content:"\ea00"}.icofont-renminbi-false:before{content:"\ea01"}.icofont-renminbi-minus:before{content:"\ea02"}.icofont-renminbi-plus:before{content:"\ea03"}.icofont-renminbi-true:before{content:"\ea04"}.icofont-renminbi:before{content:"\ea05"}.icofont-riyal-false:before{content:"\ea06"}.icofont-riyal-minus:before{content:"\ea07"}.icofont-riyal-plus:before{content:"\ea08"}.icofont-riyal-true:before{content:"\ea09"}.icofont-riyal:before{content:"\ea0a"}.icofont-rouble-false:before{content:"\ea0b"}.icofont-rouble-minus:before{content:"\ea0c"}.icofont-rouble-plus:before{content:"\ea0d"}.icofont-rouble-true:before{content:"\ea0e"}.icofont-rouble:before{content:"\ea0f"}.icofont-rupee-false:before{content:"\ea10"}.icofont-rupee-minus:before{content:"\ea11"}.icofont-rupee-plus:before{content:"\ea12"}.icofont-rupee-true:before{content:"\ea13"}.icofont-rupee:before{content:"\ea14"}.icofont-taka-false:before{content:"\ea15"}.icofont-taka-minus:before{content:"\ea16"}.icofont-taka-plus:before{content:"\ea17"}.icofont-taka-true:before{content:"\ea18"}.icofont-taka:before{content:"\ea19"}.icofont-turkish-lira-false:before{content:"\ea1a"}.icofont-turkish-lira-minus:before{content:"\ea1b"}.icofont-turkish-lira-plus:before{content:"\ea1c"}.icofont-turkish-lira-true:before{content:"\ea1d"}.icofont-turkish-lira:before{content:"\ea1e"}.icofont-won-false:before{content:"\ea1f"}.icofont-won-minus:before{content:"\ea20"}.icofont-won-plus:before{content:"\ea21"}.icofont-won-true:before{content:"\ea22"}.icofont-won:before{content:"\ea23"}.icofont-yen-false:before{content:"\ea24"}.icofont-yen-minus:before{content:"\ea25"}.icofont-yen-plus:before{content:"\ea26"}.icofont-yen-true:before{content:"\ea27"}.icofont-yen:before{content:"\ea28"}.icofont-android-nexus:before{content:"\ea29"}.icofont-android-tablet:before{content:"\ea2a"}.icofont-apple-watch:before{content:"\ea2b"}.icofont-drawing-tablet:before{content:"\ea2c"}.icofont-earphone:before{content:"\ea2d"}.icofont-flash-drive:before{content:"\ea2e"}.icofont-game-console:before{content:"\ea2f"}.icofont-game-controller:before{content:"\ea30"}.icofont-game-pad:before{content:"\ea31"}.icofont-game:before{content:"\ea32"}.icofont-headphone-alt-1:before{content:"\ea33"}.icofont-headphone-alt-2:before{content:"\ea34"}.icofont-headphone-alt-3:before{content:"\ea35"}.icofont-headphone-alt:before{content:"\ea36"}.icofont-headphone:before{content:"\ea37"}.icofont-htc-one:before{content:"\ea38"}.icofont-imac:before{content:"\ea39"}.icofont-ipad:before{content:"\ea3a"}.icofont-iphone:before{content:"\ea3b"}.icofont-ipod-nano:before{content:"\ea3c"}.icofont-ipod-touch:before{content:"\ea3d"}.icofont-keyboard-alt:before{content:"\ea3e"}.icofont-keyboard-wireless:before{content:"\ea3f"}.icofont-keyboard:before{content:"\ea40"}.icofont-laptop-alt:before{content:"\ea41"}.icofont-laptop:before{content:"\ea42"}.icofont-macbook:before{content:"\ea43"}.icofont-magic-mouse:before{content:"\ea44"}.icofont-micro-chip:before{content:"\ea45"}.icofont-microphone-alt:before{content:"\ea46"}.icofont-microphone:before{content:"\ea47"}.icofont-monitor:before{content:"\ea48"}.icofont-mouse:before{content:"\ea49"}.icofont-mp3-player:before{content:"\ea4a"}.icofont-nintendo:before{content:"\ea4b"}.icofont-playstation-alt:before{content:"\ea4c"}.icofont-psvita:before{content:"\ea4d"}.icofont-radio-mic:before{content:"\ea4e"}.icofont-radio:before{content:"\ea4f"}.icofont-refrigerator:before{content:"\ea50"}.icofont-samsung-galaxy:before{content:"\ea51"}.icofont-surface-tablet:before{content:"\ea52"}.icofont-ui-head-phone:before{content:"\ea53"}.icofont-ui-keyboard:before{content:"\ea54"}.icofont-washing-machine:before{content:"\ea55"}.icofont-wifi-router:before{content:"\ea56"}.icofont-wii-u:before{content:"\ea57"}.icofont-windows-lumia:before{content:"\ea58"}.icofont-wireless-mouse:before{content:"\ea59"}.icofont-xbox-360:before{content:"\ea5a"}.icofont-arrow-down:before{content:"\ea5b"}.icofont-arrow-left:before{content:"\ea5c"}.icofont-arrow-right:before{content:"\ea5d"}.icofont-arrow-up:before{content:"\ea5e"}.icofont-block-down:before{content:"\ea5f"}.icofont-block-left:before{content:"\ea60"}.icofont-block-right:before{content:"\ea61"}.icofont-block-up:before{content:"\ea62"}.icofont-bubble-down:before{content:"\ea63"}.icofont-bubble-left:before{content:"\ea64"}.icofont-bubble-right:before{content:"\ea65"}.icofont-bubble-up:before{content:"\ea66"}.icofont-caret-down:before{content:"\ea67"}.icofont-caret-left:before{content:"\ea68"}.icofont-caret-right:before{content:"\ea69"}.icofont-caret-up:before{content:"\ea6a"}.icofont-circled-down:before{content:"\ea6b"}.icofont-circled-left:before{content:"\ea6c"}.icofont-circled-right:before{content:"\ea6d"}.icofont-circled-up:before{content:"\ea6e"}.icofont-collapse:before{content:"\ea6f"}.icofont-cursor-drag:before{content:"\ea70"}.icofont-curved-double-left:before{content:"\ea71"}.icofont-curved-double-right:before{content:"\ea72"}.icofont-curved-down:before{content:"\ea73"}.icofont-curved-left:before{content:"\ea74"}.icofont-curved-right:before{content:"\ea75"}.icofont-curved-up:before{content:"\ea76"}.icofont-dotted-down:before{content:"\ea77"}.icofont-dotted-left:before{content:"\ea78"}.icofont-dotted-right:before{content:"\ea79"}.icofont-dotted-up:before{content:"\ea7a"}.icofont-double-left:before{content:"\ea7b"}.icofont-double-right:before{content:"\ea7c"}.icofont-expand-alt:before{content:"\ea7d"}.icofont-hand-down:before{content:"\ea7e"}.icofont-hand-drag:before{content:"\ea7f"}.icofont-hand-drag1:before{content:"\ea80"}.icofont-hand-drag2:before{content:"\ea81"}.icofont-hand-drawn-alt-down:before{content:"\ea82"}.icofont-hand-drawn-alt-left:before{content:"\ea83"}.icofont-hand-drawn-alt-right:before{content:"\ea84"}.icofont-hand-drawn-alt-up:before{content:"\ea85"}.icofont-hand-drawn-down:before{content:"\ea86"}.icofont-hand-drawn-left:before{content:"\ea87"}.icofont-hand-drawn-right:before{content:"\ea88"}.icofont-hand-drawn-up:before{content:"\ea89"}.icofont-hand-grippers:before{content:"\ea8a"}.icofont-hand-left:before{content:"\ea8b"}.icofont-hand-right:before{content:"\ea8c"}.icofont-hand-up:before{content:"\ea8d"}.icofont-line-block-down:before{content:"\ea8e"}.icofont-line-block-left:before{content:"\ea8f"}.icofont-line-block-right:before{content:"\ea90"}.icofont-line-block-up:before{content:"\ea91"}.icofont-long-arrow-down:before{content:"\ea92"}.icofont-long-arrow-left:before{content:"\ea93"}.icofont-long-arrow-right:before{content:"\ea94"}.icofont-long-arrow-up:before{content:"\ea95"}.icofont-rounded-collapse:before{content:"\ea96"}.icofont-rounded-double-left:before{content:"\ea97"}.icofont-rounded-double-right:before{content:"\ea98"}.icofont-rounded-down:before{content:"\ea99"}.icofont-rounded-expand:before{content:"\ea9a"}.icofont-rounded-left-down:before{content:"\ea9b"}.icofont-rounded-left-up:before{content:"\ea9c"}.icofont-rounded-left:before{content:"\ea9d"}.icofont-rounded-right-down:before{content:"\ea9e"}.icofont-rounded-right-up:before{content:"\ea9f"}.icofont-rounded-right:before{content:"\eaa0"}.icofont-rounded-up:before{content:"\eaa1"}.icofont-scroll-bubble-down:before{content:"\eaa2"}.icofont-scroll-bubble-left:before{content:"\eaa3"}.icofont-scroll-bubble-right:before{content:"\eaa4"}.icofont-scroll-bubble-up:before{content:"\eaa5"}.icofont-scroll-double-down:before{content:"\eaa6"}.icofont-scroll-double-left:before{content:"\eaa7"}.icofont-scroll-double-right:before{content:"\eaa8"}.icofont-scroll-double-up:before{content:"\eaa9"}.icofont-scroll-down:before{content:"\eaaa"}.icofont-scroll-left:before{content:"\eaab"}.icofont-scroll-long-down:before{content:"\eaac"}.icofont-scroll-long-left:before{content:"\eaad"}.icofont-scroll-long-right:before{content:"\eaae"}.icofont-scroll-long-up:before{content:"\eaaf"}.icofont-scroll-right:before{content:"\eab0"}.icofont-scroll-up:before{content:"\eab1"}.icofont-simple-down:before{content:"\eab2"}.icofont-simple-left-down:before{content:"\eab3"}.icofont-simple-left-up:before{content:"\eab4"}.icofont-simple-left:before{content:"\eab5"}.icofont-simple-right-down:before{content:"\eab6"}.icofont-simple-right-up:before{content:"\eab7"}.icofont-simple-right:before{content:"\eab8"}.icofont-simple-up:before{content:"\eab9"}.icofont-square-down:before{content:"\eaba"}.icofont-square-left:before{content:"\eabb"}.icofont-square-right:before{content:"\eabc"}.icofont-square-up:before{content:"\eabd"}.icofont-stylish-down:before{content:"\eabe"}.icofont-stylish-left:before{content:"\eabf"}.icofont-stylish-right:before{content:"\eac0"}.icofont-stylish-up:before{content:"\eac1"}.icofont-swoosh-down:before{content:"\eac2"}.icofont-swoosh-left:before{content:"\eac3"}.icofont-swoosh-right:before{content:"\eac4"}.icofont-swoosh-up:before{content:"\eac5"}.icofont-thin-double-left:before{content:"\eac6"}.icofont-thin-double-right:before{content:"\eac7"}.icofont-thin-down:before{content:"\eac8"}.icofont-thin-left:before{content:"\eac9"}.icofont-thin-right:before{content:"\eaca"}.icofont-thin-up:before{content:"\eacb"}.icofont-abc:before{content:"\eacc"}.icofont-atom:before{content:"\eacd"}.icofont-award:before{content:"\eace"}.icofont-bell-alt:before{content:"\eacf"}.icofont-black-board:before{content:"\ead0"}.icofont-book-alt:before{content:"\ead1"}.icofont-book:before{content:"\ead2"}.icofont-brainstorming:before{content:"\ead3"}.icofont-certificate-alt-1:before{content:"\ead4"}.icofont-certificate-alt-2:before{content:"\ead5"}.icofont-certificate:before{content:"\ead6"}.icofont-education:before{content:"\ead7"}.icofont-electron:before{content:"\ead8"}.icofont-fountain-pen:before{content:"\ead9"}.icofont-globe-alt:before{content:"\eada"}.icofont-graduate-alt:before{content:"\eadb"}.icofont-graduate:before{content:"\eadc"}.icofont-group-students:before{content:"\eadd"}.icofont-hat-alt:before{content:"\eade"}.icofont-hat:before{content:"\eadf"}.icofont-instrument:before{content:"\eae0"}.icofont-lamp-light:before{content:"\eae1"}.icofont-medal:before{content:"\eae2"}.icofont-microscope-alt:before{content:"\eae3"}.icofont-microscope:before{content:"\eae4"}.icofont-paper:before{content:"\eae5"}.icofont-pen-alt-4:before{content:"\eae6"}.icofont-pen-nib:before{content:"\eae7"}.icofont-pencil-alt-5:before{content:"\eae8"}.icofont-quill-pen:before{content:"\eae9"}.icofont-read-book-alt:before{content:"\eaea"}.icofont-read-book:before{content:"\eaeb"}.icofont-school-bag:before{content:"\eaec"}.icofont-school-bus:before{content:"\eaed"}.icofont-student-alt:before{content:"\eaee"}.icofont-student:before{content:"\eaef"}.icofont-teacher:before{content:"\eaf0"}.icofont-test-bulb:before{content:"\eaf1"}.icofont-test-tube-alt:before{content:"\eaf2"}.icofont-university:before{content:"\eaf3"}.icofont-angry:before{content:"\eaf4"}.icofont-astonished:before{content:"\eaf5"}.icofont-confounded:before{content:"\eaf6"}.icofont-confused:before{content:"\eaf7"}.icofont-crying:before{content:"\eaf8"}.icofont-dizzy:before{content:"\eaf9"}.icofont-expressionless:before{content:"\eafa"}.icofont-heart-eyes:before{content:"\eafb"}.icofont-laughing:before{content:"\eafc"}.icofont-nerd-smile:before{content:"\eafd"}.icofont-open-mouth:before{content:"\eafe"}.icofont-rage:before{content:"\eaff"}.icofont-rolling-eyes:before{content:"\eb00"}.icofont-sad:before{content:"\eb01"}.icofont-simple-smile:before{content:"\eb02"}.icofont-slightly-smile:before{content:"\eb03"}.icofont-smirk:before{content:"\eb04"}.icofont-stuck-out-tongue:before{content:"\eb05"}.icofont-wink-smile:before{content:"\eb06"}.icofont-worried:before{content:"\eb07"}.icofont-file-alt:before{content:"\eb08"}.icofont-file-audio:before{content:"\eb09"}.icofont-file-avi-mp4:before{content:"\eb0a"}.icofont-file-bmp:before{content:"\eb0b"}.icofont-file-code:before{content:"\eb0c"}.icofont-file-css:before{content:"\eb0d"}.icofont-file-document:before{content:"\eb0e"}.icofont-file-eps:before{content:"\eb0f"}.icofont-file-excel:before{content:"\eb10"}.icofont-file-exe:before{content:"\eb11"}.icofont-file-file:before{content:"\eb12"}.icofont-file-flv:before{content:"\eb13"}.icofont-file-gif:before{content:"\eb14"}.icofont-file-html5:before{content:"\eb15"}.icofont-file-image:before{content:"\eb16"}.icofont-file-iso:before{content:"\eb17"}.icofont-file-java:before{content:"\eb18"}.icofont-file-javascript:before{content:"\eb19"}.icofont-file-jpg:before{content:"\eb1a"}.icofont-file-midi:before{content:"\eb1b"}.icofont-file-mov:before{content:"\eb1c"}.icofont-file-mp3:before{content:"\eb1d"}.icofont-file-pdf:before{content:"\eb1e"}.icofont-file-php:before{content:"\eb1f"}.icofont-file-png:before{content:"\eb20"}.icofont-file-powerpoint:before{content:"\eb21"}.icofont-file-presentation:before{content:"\eb22"}.icofont-file-psb:before{content:"\eb23"}.icofont-file-psd:before{content:"\eb24"}.icofont-file-python:before{content:"\eb25"}.icofont-file-ruby:before{content:"\eb26"}.icofont-file-spreadsheet:before{content:"\eb27"}.icofont-file-sql:before{content:"\eb28"}.icofont-file-svg:before{content:"\eb29"}.icofont-file-text:before{content:"\eb2a"}.icofont-file-tiff:before{content:"\eb2b"}.icofont-file-video:before{content:"\eb2c"}.icofont-file-wave:before{content:"\eb2d"}.icofont-file-wmv:before{content:"\eb2e"}.icofont-file-word:before{content:"\eb2f"}.icofont-file-zip:before{content:"\eb30"}.icofont-cycling-alt:before{content:"\eb31"}.icofont-cycling:before{content:"\eb32"}.icofont-dumbbell:before{content:"\eb33"}.icofont-dumbbells:before{content:"\eb34"}.icofont-gym-alt-1:before{content:"\eb35"}.icofont-gym-alt-2:before{content:"\eb36"}.icofont-gym-alt-3:before{content:"\eb37"}.icofont-gym:before{content:"\eb38"}.icofont-muscle-weight:before{content:"\eb39"}.icofont-muscle:before{content:"\eb3a"}.icofont-apple:before{content:"\eb3b"}.icofont-arabian-coffee:before{content:"\eb3c"}.icofont-artichoke:before{content:"\eb3d"}.icofont-asparagus:before{content:"\eb3e"}.icofont-avocado:before{content:"\eb3f"}.icofont-baby-food:before{content:"\eb40"}.icofont-banana:before{content:"\eb41"}.icofont-bbq:before{content:"\eb42"}.icofont-beans:before{content:"\eb43"}.icofont-beer:before{content:"\eb44"}.icofont-bell-pepper-capsicum:before{content:"\eb45"}.icofont-birthday-cake:before{content:"\eb46"}.icofont-bread:before{content:"\eb47"}.icofont-broccoli:before{content:"\eb48"}.icofont-burger:before{content:"\eb49"}.icofont-cabbage:before{content:"\eb4a"}.icofont-carrot:before{content:"\eb4b"}.icofont-cauli-flower:before{content:"\eb4c"}.icofont-cheese:before{content:"\eb4d"}.icofont-chef:before{content:"\eb4e"}.icofont-cherry:before{content:"\eb4f"}.icofont-chicken-fry:before{content:"\eb50"}.icofont-chicken:before{content:"\eb51"}.icofont-cocktail:before{content:"\eb52"}.icofont-coconut-water:before{content:"\eb53"}.icofont-coconut:before{content:"\eb54"}.icofont-coffee-alt:before{content:"\eb55"}.icofont-coffee-cup:before{content:"\eb56"}.icofont-coffee-mug:before{content:"\eb57"}.icofont-coffee-pot:before{content:"\eb58"}.icofont-cola:before{content:"\eb59"}.icofont-corn:before{content:"\eb5a"}.icofont-croissant:before{content:"\eb5b"}.icofont-crop-plant:before{content:"\eb5c"}.icofont-cucumber:before{content:"\eb5d"}.icofont-culinary:before{content:"\eb5e"}.icofont-cup-cake:before{content:"\eb5f"}.icofont-dining-table:before{content:"\eb60"}.icofont-donut:before{content:"\eb61"}.icofont-egg-plant:before{content:"\eb62"}.icofont-egg-poached:before{content:"\eb63"}.icofont-farmer-alt:before{content:"\eb64"}.icofont-farmer:before{content:"\eb65"}.icofont-fast-food:before{content:"\eb66"}.icofont-food-basket:before{content:"\eb67"}.icofont-food-cart:before{content:"\eb68"}.icofont-fork-and-knife:before{content:"\eb69"}.icofont-french-fries:before{content:"\eb6a"}.icofont-fruits:before{content:"\eb6b"}.icofont-grapes:before{content:"\eb6c"}.icofont-honey:before{content:"\eb6d"}.icofont-hot-dog:before{content:"\eb6e"}.icofont-ice-cream-alt:before{content:"\eb6f"}.icofont-ice-cream:before{content:"\eb70"}.icofont-juice:before{content:"\eb71"}.icofont-ketchup:before{content:"\eb72"}.icofont-kiwi:before{content:"\eb73"}.icofont-layered-cake:before{content:"\eb74"}.icofont-lemon-alt:before{content:"\eb75"}.icofont-lemon:before{content:"\eb76"}.icofont-lobster:before{content:"\eb77"}.icofont-mango:before{content:"\eb78"}.icofont-milk:before{content:"\eb79"}.icofont-mushroom:before{content:"\eb7a"}.icofont-noodles:before{content:"\eb7b"}.icofont-onion:before{content:"\eb7c"}.icofont-orange:before{content:"\eb7d"}.icofont-pear:before{content:"\eb7e"}.icofont-peas:before{content:"\eb7f"}.icofont-pepper:before{content:"\eb80"}.icofont-pie-alt:before{content:"\eb81"}.icofont-pie:before{content:"\eb82"}.icofont-pineapple:before{content:"\eb83"}.icofont-pizza-slice:before{content:"\eb84"}.icofont-pizza:before{content:"\eb85"}.icofont-plant:before{content:"\eb86"}.icofont-popcorn:before{content:"\eb87"}.icofont-potato:before{content:"\eb88"}.icofont-pumpkin:before{content:"\eb89"}.icofont-raddish:before{content:"\eb8a"}.icofont-restaurant-menu:before{content:"\eb8b"}.icofont-restaurant:before{content:"\eb8c"}.icofont-salt-and-pepper:before{content:"\eb8d"}.icofont-sandwich:before{content:"\eb8e"}.icofont-sausage:before{content:"\eb8f"}.icofont-soft-drinks:before{content:"\eb90"}.icofont-soup-bowl:before{content:"\eb91"}.icofont-spoon-and-fork:before{content:"\eb92"}.icofont-steak:before{content:"\eb93"}.icofont-strawberry:before{content:"\eb94"}.icofont-sub-sandwich:before{content:"\eb95"}.icofont-sushi:before{content:"\eb96"}.icofont-taco:before{content:"\eb97"}.icofont-tea-pot:before{content:"\eb98"}.icofont-tea:before{content:"\eb99"}.icofont-tomato:before{content:"\eb9a"}.icofont-watermelon:before{content:"\eb9b"}.icofont-wheat:before{content:"\eb9c"}.icofont-baby-backpack:before{content:"\eb9d"}.icofont-baby-cloth:before{content:"\eb9e"}.icofont-baby-milk-bottle:before{content:"\eb9f"}.icofont-baby-trolley:before{content:"\eba0"}.icofont-baby:before{content:"\eba1"}.icofont-candy:before{content:"\eba2"}.icofont-holding-hands:before{content:"\eba3"}.icofont-infant-nipple:before{content:"\eba4"}.icofont-kids-scooter:before{content:"\eba5"}.icofont-safety-pin:before{content:"\eba6"}.icofont-teddy-bear:before{content:"\eba7"}.icofont-toy-ball:before{content:"\eba8"}.icofont-toy-cat:before{content:"\eba9"}.icofont-toy-duck:before{content:"\ebaa"}.icofont-toy-elephant:before{content:"\ebab"}.icofont-toy-hand:before{content:"\ebac"}.icofont-toy-horse:before{content:"\ebad"}.icofont-toy-lattu:before{content:"\ebae"}.icofont-toy-train:before{content:"\ebaf"}.icofont-burglar:before{content:"\ebb0"}.icofont-cannon-firing:before{content:"\ebb1"}.icofont-cc-camera:before{content:"\ebb2"}.icofont-cop-badge:before{content:"\ebb3"}.icofont-cop:before{content:"\ebb4"}.icofont-court-hammer:before{content:"\ebb5"}.icofont-court:before{content:"\ebb6"}.icofont-finger-print:before{content:"\ebb7"}.icofont-gavel:before{content:"\ebb8"}.icofont-handcuff-alt:before{content:"\ebb9"}.icofont-handcuff:before{content:"\ebba"}.icofont-investigation:before{content:"\ebbb"}.icofont-investigator:before{content:"\ebbc"}.icofont-jail:before{content:"\ebbd"}.icofont-judge:before{content:"\ebbe"}.icofont-law-alt-1:before{content:"\ebbf"}.icofont-law-alt-2:before{content:"\ebc0"}.icofont-law-alt-3:before{content:"\ebc1"}.icofont-law-book:before{content:"\ebc2"}.icofont-law-document:before{content:"\ebc3"}.icofont-law-order:before{content:"\ebc4"}.icofont-law-protect:before{content:"\ebc5"}.icofont-law-scales:before{content:"\ebc6"}.icofont-law:before{content:"\ebc7"}.icofont-lawyer-alt-1:before{content:"\ebc8"}.icofont-lawyer-alt-2:before{content:"\ebc9"}.icofont-lawyer:before{content:"\ebca"}.icofont-legal:before{content:"\ebcb"}.icofont-pistol:before{content:"\ebcc"}.icofont-police-badge:before{content:"\ebcd"}.icofont-police-cap:before{content:"\ebce"}.icofont-police-car-alt-1:before{content:"\ebcf"}.icofont-police-car-alt-2:before{content:"\ebd0"}.icofont-police-car:before{content:"\ebd1"}.icofont-police-hat:before{content:"\ebd2"}.icofont-police-van:before{content:"\ebd3"}.icofont-police:before{content:"\ebd4"}.icofont-thief-alt:before{content:"\ebd5"}.icofont-thief:before{content:"\ebd6"}.icofont-abacus-alt:before{content:"\ebd7"}.icofont-abacus:before{content:"\ebd8"}.icofont-angle-180:before{content:"\ebd9"}.icofont-angle-45:before{content:"\ebda"}.icofont-angle-90:before{content:"\ebdb"}.icofont-angle:before{content:"\ebdc"}.icofont-calculator-alt-1:before{content:"\ebdd"}.icofont-calculator-alt-2:before{content:"\ebde"}.icofont-calculator:before{content:"\ebdf"}.icofont-circle-ruler-alt:before{content:"\ebe0"}.icofont-circle-ruler:before{content:"\ebe1"}.icofont-compass-alt-1:before{content:"\ebe2"}.icofont-compass-alt-2:before{content:"\ebe3"}.icofont-compass-alt-3:before{content:"\ebe4"}.icofont-compass-alt-4:before{content:"\ebe5"}.icofont-golden-ratio:before{content:"\ebe6"}.icofont-marker-alt-1:before{content:"\ebe7"}.icofont-marker-alt-2:before{content:"\ebe8"}.icofont-marker-alt-3:before{content:"\ebe9"}.icofont-marker:before{content:"\ebea"}.icofont-math:before{content:"\ebeb"}.icofont-mathematical-alt-1:before{content:"\ebec"}.icofont-mathematical-alt-2:before{content:"\ebed"}.icofont-mathematical:before{content:"\ebee"}.icofont-pen-alt-1:before{content:"\ebef"}.icofont-pen-alt-2:before{content:"\ebf0"}.icofont-pen-alt-3:before{content:"\ebf1"}.icofont-pen-holder-alt-1:before{content:"\ebf2"}.icofont-pen-holder:before{content:"\ebf3"}.icofont-pen:before{content:"\ebf4"}.icofont-pencil-alt-1:before{content:"\ebf5"}.icofont-pencil-alt-2:before{content:"\ebf6"}.icofont-pencil-alt-3:before{content:"\ebf7"}.icofont-pencil-alt-4:before{content:"\ebf8"}.icofont-pencil:before{content:"\ebf9"}.icofont-ruler-alt-1:before{content:"\ebfa"}.icofont-ruler-alt-2:before{content:"\ebfb"}.icofont-ruler-compass-alt:before{content:"\ebfc"}.icofont-ruler-compass:before{content:"\ebfd"}.icofont-ruler-pencil-alt-1:before{content:"\ebfe"}.icofont-ruler-pencil-alt-2:before{content:"\ebff"}.icofont-ruler-pencil:before{content:"\ec00"}.icofont-ruler:before{content:"\ec01"}.icofont-rulers-alt:before{content:"\ec02"}.icofont-rulers:before{content:"\ec03"}.icofont-square-root:before{content:"\ec04"}.icofont-ui-calculator:before{content:"\ec05"}.icofont-aids:before{content:"\ec06"}.icofont-ambulance-crescent:before{content:"\ec07"}.icofont-ambulance-cross:before{content:"\ec08"}.icofont-ambulance:before{content:"\ec09"}.icofont-autism:before{content:"\ec0a"}.icofont-bandage:before{content:"\ec0b"}.icofont-blind:before{content:"\ec0c"}.icofont-blood-drop:before{content:"\ec0d"}.icofont-blood-test:before{content:"\ec0e"}.icofont-blood:before{content:"\ec0f"}.icofont-brain-alt:before{content:"\ec10"}.icofont-brain:before{content:"\ec11"}.icofont-capsule:before{content:"\ec12"}.icofont-crutch:before{content:"\ec13"}.icofont-disabled:before{content:"\ec14"}.icofont-dna-alt-1:before{content:"\ec15"}.icofont-dna-alt-2:before{content:"\ec16"}.icofont-dna:before{content:"\ec17"}.icofont-doctor-alt:before{content:"\ec18"}.icofont-doctor:before{content:"\ec19"}.icofont-drug-pack:before{content:"\ec1a"}.icofont-drug:before{content:"\ec1b"}.icofont-first-aid-alt:before{content:"\ec1c"}.icofont-first-aid:before{content:"\ec1d"}.icofont-heart-beat-alt:before{content:"\ec1e"}.icofont-heart-beat:before{content:"\ec1f"}.icofont-heartbeat:before{content:"\ec20"}.icofont-herbal:before{content:"\ec21"}.icofont-hospital:before{content:"\ec22"}.icofont-icu:before{content:"\ec23"}.icofont-injection-syringe:before{content:"\ec24"}.icofont-laboratory:before{content:"\ec25"}.icofont-medical-sign-alt:before{content:"\ec26"}.icofont-medical-sign:before{content:"\ec27"}.icofont-nurse-alt:before{content:"\ec28"}.icofont-nurse:before{content:"\ec29"}.icofont-nursing-home:before{content:"\ec2a"}.icofont-operation-theater:before{content:"\ec2b"}.icofont-paralysis-disability:before{content:"\ec2c"}.icofont-patient-bed:before{content:"\ec2d"}.icofont-patient-file:before{content:"\ec2e"}.icofont-pills:before{content:"\ec2f"}.icofont-prescription:before{content:"\ec30"}.icofont-pulse:before{content:"\ec31"}.icofont-stethoscope-alt:before{content:"\ec32"}.icofont-stethoscope:before{content:"\ec33"}.icofont-stretcher:before{content:"\ec34"}.icofont-surgeon-alt:before{content:"\ec35"}.icofont-surgeon:before{content:"\ec36"}.icofont-tablets:before{content:"\ec37"}.icofont-test-bottle:before{content:"\ec38"}.icofont-test-tube:before{content:"\ec39"}.icofont-thermometer-alt:before{content:"\ec3a"}.icofont-thermometer:before{content:"\ec3b"}.icofont-tooth:before{content:"\ec3c"}.icofont-xray:before{content:"\ec3d"}.icofont-ui-add:before{content:"\ec3e"}.icofont-ui-alarm:before{content:"\ec3f"}.icofont-ui-battery:before{content:"\ec40"}.icofont-ui-block:before{content:"\ec41"}.icofont-ui-bluetooth:before{content:"\ec42"}.icofont-ui-brightness:before{content:"\ec43"}.icofont-ui-browser:before{content:"\ec44"}.icofont-ui-calendar:before{content:"\ec45"}.icofont-ui-call:before{content:"\ec46"}.icofont-ui-camera:before{content:"\ec47"}.icofont-ui-cart:before{content:"\ec48"}.icofont-ui-cell-phone:before{content:"\ec49"}.icofont-ui-chat:before{content:"\ec4a"}.icofont-ui-check:before{content:"\ec4b"}.icofont-ui-clip-board:before{content:"\ec4c"}.icofont-ui-clip:before{content:"\ec4d"}.icofont-ui-clock:before{content:"\ec4e"}.icofont-ui-close:before{content:"\ec4f"}.icofont-ui-contact-list:before{content:"\ec50"}.icofont-ui-copy:before{content:"\ec51"}.icofont-ui-cut:before{content:"\ec52"}.icofont-ui-delete:before{content:"\ec53"}.icofont-ui-dial-phone:before{content:"\ec54"}.icofont-ui-edit:before{content:"\ec55"}.icofont-ui-email:before{content:"\ec56"}.icofont-ui-file:before{content:"\ec57"}.icofont-ui-fire-wall:before{content:"\ec58"}.icofont-ui-flash-light:before{content:"\ec59"}.icofont-ui-flight:before{content:"\ec5a"}.icofont-ui-folder:before{content:"\ec5b"}.icofont-ui-game:before{content:"\ec5c"}.icofont-ui-handicapped:before{content:"\ec5d"}.icofont-ui-home:before{content:"\ec5e"}.icofont-ui-image:before{content:"\ec5f"}.icofont-ui-laoding:before{content:"\ec60"}.icofont-ui-lock:before{content:"\ec61"}.icofont-ui-love-add:before{content:"\ec62"}.icofont-ui-love-broken:before{content:"\ec63"}.icofont-ui-love-remove:before{content:"\ec64"}.icofont-ui-love:before{content:"\ec65"}.icofont-ui-map:before{content:"\ec66"}.icofont-ui-message:before{content:"\ec67"}.icofont-ui-messaging:before{content:"\ec68"}.icofont-ui-movie:before{content:"\ec69"}.icofont-ui-music-player:before{content:"\ec6a"}.icofont-ui-music:before{content:"\ec6b"}.icofont-ui-mute:before{content:"\ec6c"}.icofont-ui-network:before{content:"\ec6d"}.icofont-ui-next:before{content:"\ec6e"}.icofont-ui-note:before{content:"\ec6f"}.icofont-ui-office:before{content:"\ec70"}.icofont-ui-password:before{content:"\ec71"}.icofont-ui-pause:before{content:"\ec72"}.icofont-ui-play-stop:before{content:"\ec73"}.icofont-ui-play:before{content:"\ec74"}.icofont-ui-pointer:before{content:"\ec75"}.icofont-ui-power:before{content:"\ec76"}.icofont-ui-press:before{content:"\ec77"}.icofont-ui-previous:before{content:"\ec78"}.icofont-ui-rate-add:before{content:"\ec79"}.icofont-ui-rate-blank:before{content:"\ec7a"}.icofont-ui-rate-remove:before{content:"\ec7b"}.icofont-ui-rating:before{content:"\ec7c"}.icofont-ui-record:before{content:"\ec7d"}.icofont-ui-remove:before{content:"\ec7e"}.icofont-ui-reply:before{content:"\ec7f"}.icofont-ui-rotation:before{content:"\ec80"}.icofont-ui-rss:before{content:"\ec81"}.icofont-ui-search:before{content:"\ec82"}.icofont-ui-settings:before{content:"\ec83"}.icofont-ui-social-link:before{content:"\ec84"}.icofont-ui-tag:before{content:"\ec85"}.icofont-ui-text-chat:before{content:"\ec86"}.icofont-ui-text-loading:before{content:"\ec87"}.icofont-ui-theme:before{content:"\ec88"}.icofont-ui-timer:before{content:"\ec89"}.icofont-ui-touch-phone:before{content:"\ec8a"}.icofont-ui-travel:before{content:"\ec8b"}.icofont-ui-unlock:before{content:"\ec8c"}.icofont-ui-user-group:before{content:"\ec8d"}.icofont-ui-user:before{content:"\ec8e"}.icofont-ui-v-card:before{content:"\ec8f"}.icofont-ui-video-chat:before{content:"\ec90"}.icofont-ui-video-message:before{content:"\ec91"}.icofont-ui-video-play:before{content:"\ec92"}.icofont-ui-video:before{content:"\ec93"}.icofont-ui-volume:before{content:"\ec94"}.icofont-ui-weather:before{content:"\ec95"}.icofont-ui-wifi:before{content:"\ec96"}.icofont-ui-zoom-in:before{content:"\ec97"}.icofont-ui-zoom-out:before{content:"\ec98"}.icofont-cassette-player:before{content:"\ec99"}.icofont-cassette:before{content:"\ec9a"}.icofont-forward:before{content:"\ec9b"}.icofont-guiter:before{content:"\ec9c"}.icofont-movie:before{content:"\ec9d"}.icofont-multimedia:before{content:"\ec9e"}.icofont-music-alt:before{content:"\ec9f"}.icofont-music-disk:before{content:"\eca0"}.icofont-music-note:before{content:"\eca1"}.icofont-music-notes:before{content:"\eca2"}.icofont-music:before{content:"\eca3"}.icofont-mute-volume:before{content:"\eca4"}.icofont-pause:before{content:"\eca5"}.icofont-play-alt-1:before{content:"\eca6"}.icofont-play-alt-2:before{content:"\eca7"}.icofont-play-alt-3:before{content:"\eca8"}.icofont-play-pause:before{content:"\eca9"}.icofont-play:before{content:"\ecaa"}.icofont-record:before{content:"\ecab"}.icofont-retro-music-disk:before{content:"\ecac"}.icofont-rewind:before{content:"\ecad"}.icofont-song-notes:before{content:"\ecae"}.icofont-sound-wave-alt:before{content:"\ecaf"}.icofont-sound-wave:before{content:"\ecb0"}.icofont-stop:before{content:"\ecb1"}.icofont-video-alt:before{content:"\ecb2"}.icofont-video-cam:before{content:"\ecb3"}.icofont-video-clapper:before{content:"\ecb4"}.icofont-video:before{content:"\ecb5"}.icofont-volume-bar:before{content:"\ecb6"}.icofont-volume-down:before{content:"\ecb7"}.icofont-volume-mute:before{content:"\ecb8"}.icofont-volume-off:before{content:"\ecb9"}.icofont-volume-up:before{content:"\ecba"}.icofont-youtube-play:before{content:"\ecbb"}.icofont-2checkout-alt:before{content:"\ecbc"}.icofont-2checkout:before{content:"\ecbd"}.icofont-amazon-alt:before{content:"\ecbe"}.icofont-amazon:before{content:"\ecbf"}.icofont-american-express-alt:before{content:"\ecc0"}.icofont-american-express:before{content:"\ecc1"}.icofont-apple-pay-alt:before{content:"\ecc2"}.icofont-apple-pay:before{content:"\ecc3"}.icofont-bank-transfer-alt:before{content:"\ecc4"}.icofont-bank-transfer:before{content:"\ecc5"}.icofont-braintree-alt:before{content:"\ecc6"}.icofont-braintree:before{content:"\ecc7"}.icofont-cash-on-delivery-alt:before{content:"\ecc8"}.icofont-cash-on-delivery:before{content:"\ecc9"}.icofont-diners-club-alt-1:before{content:"\ecca"}.icofont-diners-club-alt-2:before{content:"\eccb"}.icofont-diners-club-alt-3:before{content:"\eccc"}.icofont-diners-club:before{content:"\eccd"}.icofont-discover-alt:before{content:"\ecce"}.icofont-discover:before{content:"\eccf"}.icofont-eway-alt:before{content:"\ecd0"}.icofont-eway:before{content:"\ecd1"}.icofont-google-wallet-alt-1:before{content:"\ecd2"}.icofont-google-wallet-alt-2:before{content:"\ecd3"}.icofont-google-wallet-alt-3:before{content:"\ecd4"}.icofont-google-wallet:before{content:"\ecd5"}.icofont-jcb-alt:before{content:"\ecd6"}.icofont-jcb:before{content:"\ecd7"}.icofont-maestro-alt:before{content:"\ecd8"}.icofont-maestro:before{content:"\ecd9"}.icofont-mastercard-alt:before{content:"\ecda"}.icofont-mastercard:before{content:"\ecdb"}.icofont-payoneer-alt:before{content:"\ecdc"}.icofont-payoneer:before{content:"\ecdd"}.icofont-paypal-alt:before{content:"\ecde"}.icofont-paypal:before{content:"\ecdf"}.icofont-sage-alt:before{content:"\ece0"}.icofont-sage:before{content:"\ece1"}.icofont-skrill-alt:before{content:"\ece2"}.icofont-skrill:before{content:"\ece3"}.icofont-stripe-alt:before{content:"\ece4"}.icofont-stripe:before{content:"\ece5"}.icofont-visa-alt:before{content:"\ece6"}.icofont-visa-electron:before{content:"\ece7"}.icofont-visa:before{content:"\ece8"}.icofont-western-union-alt:before{content:"\ece9"}.icofont-western-union:before{content:"\ecea"}.icofont-boy:before{content:"\eceb"}.icofont-business-man-alt-1:before{content:"\ecec"}.icofont-business-man-alt-2:before{content:"\eced"}.icofont-business-man-alt-3:before{content:"\ecee"}.icofont-business-man:before{content:"\ecef"}.icofont-female:before{content:"\ecf0"}.icofont-funky-man:before{content:"\ecf1"}.icofont-girl-alt:before{content:"\ecf2"}.icofont-girl:before{content:"\ecf3"}.icofont-group:before{content:"\ecf4"}.icofont-hotel-boy-alt:before{content:"\ecf5"}.icofont-hotel-boy:before{content:"\ecf6"}.icofont-kid:before{content:"\ecf7"}.icofont-man-in-glasses:before{content:"\ecf8"}.icofont-people:before{content:"\ecf9"}.icofont-support:before{content:"\ecfa"}.icofont-user-alt-1:before{content:"\ecfb"}.icofont-user-alt-2:before{content:"\ecfc"}.icofont-user-alt-3:before{content:"\ecfd"}.icofont-user-alt-4:before{content:"\ecfe"}.icofont-user-alt-5:before{content:"\ecff"}.icofont-user-alt-6:before{content:"\ed00"}.icofont-user-alt-7:before{content:"\ed01"}.icofont-user-female:before{content:"\ed02"}.icofont-user-male:before{content:"\ed03"}.icofont-user-suited:before{content:"\ed04"}.icofont-user:before{content:"\ed05"}.icofont-users-alt-1:before{content:"\ed06"}.icofont-users-alt-2:before{content:"\ed07"}.icofont-users-alt-3:before{content:"\ed08"}.icofont-users-alt-4:before{content:"\ed09"}.icofont-users-alt-5:before{content:"\ed0a"}.icofont-users-alt-6:before{content:"\ed0b"}.icofont-users-social:before{content:"\ed0c"}.icofont-users:before{content:"\ed0d"}.icofont-waiter-alt:before{content:"\ed0e"}.icofont-waiter:before{content:"\ed0f"}.icofont-woman-in-glasses:before{content:"\ed10"}.icofont-search-1:before{content:"\ed11"}.icofont-search-2:before{content:"\ed12"}.icofont-search-document:before{content:"\ed13"}.icofont-search-folder:before{content:"\ed14"}.icofont-search-job:before{content:"\ed15"}.icofont-search-map:before{content:"\ed16"}.icofont-search-property:before{content:"\ed17"}.icofont-search-restaurant:before{content:"\ed18"}.icofont-search-stock:before{content:"\ed19"}.icofont-search-user:before{content:"\ed1a"}.icofont-search:before{content:"\ed1b"}.icofont-500px:before{content:"\ed1c"}.icofont-aim:before{content:"\ed1d"}.icofont-badoo:before{content:"\ed1e"}.icofont-baidu-tieba:before{content:"\ed1f"}.icofont-bbm-messenger:before{content:"\ed20"}.icofont-bebo:before{content:"\ed21"}.icofont-behance:before{content:"\ed22"}.icofont-blogger:before{content:"\ed23"}.icofont-bootstrap:before{content:"\ed24"}.icofont-brightkite:before{content:"\ed25"}.icofont-cloudapp:before{content:"\ed26"}.icofont-concrete5:before{content:"\ed27"}.icofont-delicious:before{content:"\ed28"}.icofont-designbump:before{content:"\ed29"}.icofont-designfloat:before{content:"\ed2a"}.icofont-deviantart:before{content:"\ed2b"}.icofont-digg:before{content:"\ed2c"}.icofont-dotcms:before{content:"\ed2d"}.icofont-dribbble:before{content:"\ed2e"}.icofont-dribble:before{content:"\ed2f"}.icofont-dropbox:before{content:"\ed30"}.icofont-ebuddy:before{content:"\ed31"}.icofont-ello:before{content:"\ed32"}.icofont-ember:before{content:"\ed33"}.icofont-envato:before{content:"\ed34"}.icofont-evernote:before{content:"\ed35"}.icofont-facebook-messenger:before{content:"\ed36"}.icofont-facebook:before{content:"\ed37"}.icofont-feedburner:before{content:"\ed38"}.icofont-flikr:before{content:"\ed39"}.icofont-folkd:before{content:"\ed3a"}.icofont-foursquare:before{content:"\ed3b"}.icofont-friendfeed:before{content:"\ed3c"}.icofont-ghost:before{content:"\ed3d"}.icofont-github:before{content:"\ed3e"}.icofont-gnome:before{content:"\ed3f"}.icofont-google-buzz:before{content:"\ed40"}.icofont-google-hangouts:before{content:"\ed41"}.icofont-google-map:before{content:"\ed42"}.icofont-google-plus:before{content:"\ed43"}.icofont-google-talk:before{content:"\ed44"}.icofont-hype-machine:before{content:"\ed45"}.icofont-instagram:before{content:"\ed46"}.icofont-kakaotalk:before{content:"\ed47"}.icofont-kickstarter:before{content:"\ed48"}.icofont-kik:before{content:"\ed49"}.icofont-kiwibox:before{content:"\ed4a"}.icofont-line-messenger:before{content:"\ed4b"}.icofont-line:before{content:"\ed4c"}.icofont-linkedin:before{content:"\ed4d"}.icofont-linux-mint:before{content:"\ed4e"}.icofont-live-messenger:before{content:"\ed4f"}.icofont-livejournal:before{content:"\ed50"}.icofont-magento:before{content:"\ed51"}.icofont-meetme:before{content:"\ed52"}.icofont-meetup:before{content:"\ed53"}.icofont-mixx:before{content:"\ed54"}.icofont-newsvine:before{content:"\ed55"}.icofont-nimbuss:before{content:"\ed56"}.icofont-odnoklassniki:before{content:"\ed57"}.icofont-opencart:before{content:"\ed58"}.icofont-oscommerce:before{content:"\ed59"}.icofont-pandora:before{content:"\ed5a"}.icofont-photobucket:before{content:"\ed5b"}.icofont-picasa:before{content:"\ed5c"}.icofont-pinterest:before{content:"\ed5d"}.icofont-prestashop:before{content:"\ed5e"}.icofont-qik:before{content:"\ed5f"}.icofont-qq:before{content:"\ed60"}.icofont-readernaut:before{content:"\ed61"}.icofont-reddit:before{content:"\ed62"}.icofont-renren:before{content:"\ed63"}.icofont-rss:before{content:"\ed64"}.icofont-shopify:before{content:"\ed65"}.icofont-silverstripe:before{content:"\ed66"}.icofont-skype:before{content:"\ed67"}.icofont-slack:before{content:"\ed68"}.icofont-slashdot:before{content:"\ed69"}.icofont-slidshare:before{content:"\ed6a"}.icofont-smugmug:before{content:"\ed6b"}.icofont-snapchat:before{content:"\ed6c"}.icofont-soundcloud:before{content:"\ed6d"}.icofont-spotify:before{content:"\ed6e"}.icofont-stack-exchange:before{content:"\ed6f"}.icofont-stack-overflow:before{content:"\ed70"}.icofont-steam:before{content:"\ed71"}.icofont-stumbleupon:before{content:"\ed72"}.icofont-tagged:before{content:"\ed73"}.icofont-technorati:before{content:"\ed74"}.icofont-telegram:before{content:"\ed75"}.icofont-tinder:before{content:"\ed76"}.icofont-trello:before{content:"\ed77"}.icofont-tumblr:before{content:"\ed78"}.icofont-twitch:before{content:"\ed79"}.icofont-twitter:before{content:"\ed7a"}.icofont-typo3:before{content:"\ed7b"}.icofont-ubercart:before{content:"\ed7c"}.icofont-viber:before{content:"\ed7d"}.icofont-viddler:before{content:"\ed7e"}.icofont-vimeo:before{content:"\ed7f"}.icofont-vine:before{content:"\ed80"}.icofont-virb:before{content:"\ed81"}.icofont-virtuemart:before{content:"\ed82"}.icofont-vk:before{content:"\ed83"}.icofont-wechat:before{content:"\ed84"}.icofont-weibo:before{content:"\ed85"}.icofont-whatsapp:before{content:"\ed86"}.icofont-xing:before{content:"\ed87"}.icofont-yahoo:before{content:"\ed88"}.icofont-yelp:before{content:"\ed89"}.icofont-youku:before{content:"\ed8a"}.icofont-youtube:before{content:"\ed8b"}.icofont-zencart:before{content:"\ed8c"}.icofont-badminton-birdie:before{content:"\ed8d"}.icofont-baseball:before{content:"\ed8e"}.icofont-baseballer:before{content:"\ed8f"}.icofont-basketball-hoop:before{content:"\ed90"}.icofont-basketball:before{content:"\ed91"}.icofont-billiard-ball:before{content:"\ed92"}.icofont-boot-alt-1:before{content:"\ed93"}.icofont-boot-alt-2:before{content:"\ed94"}.icofont-boot:before{content:"\ed95"}.icofont-bowling-alt:before{content:"\ed96"}.icofont-bowling:before{content:"\ed97"}.icofont-canoe:before{content:"\ed98"}.icofont-cheer-leader:before{content:"\ed99"}.icofont-climbing:before{content:"\ed9a"}.icofont-corner:before{content:"\ed9b"}.icofont-field-alt:before{content:"\ed9c"}.icofont-field:before{content:"\ed9d"}.icofont-football-alt:before{content:"\ed9e"}.icofont-football-american:before{content:"\ed9f"}.icofont-football:before{content:"\eda0"}.icofont-foul:before{content:"\eda1"}.icofont-goal-keeper:before{content:"\eda2"}.icofont-goal:before{content:"\eda3"}.icofont-golf-alt:before{content:"\eda4"}.icofont-golf-bag:before{content:"\eda5"}.icofont-golf-cart:before{content:"\eda6"}.icofont-golf-field:before{content:"\eda7"}.icofont-golf:before{content:"\eda8"}.icofont-golfer:before{content:"\eda9"}.icofont-helmet:before{content:"\edaa"}.icofont-hockey-alt:before{content:"\edab"}.icofont-hockey:before{content:"\edac"}.icofont-ice-skate:before{content:"\edad"}.icofont-jersey-alt:before{content:"\edae"}.icofont-jersey:before{content:"\edaf"}.icofont-jumping:before{content:"\edb0"}.icofont-kick:before{content:"\edb1"}.icofont-leg:before{content:"\edb2"}.icofont-match-review:before{content:"\edb3"}.icofont-medal-sport:before{content:"\edb4"}.icofont-offside:before{content:"\edb5"}.icofont-olympic-logo:before{content:"\edb6"}.icofont-olympic:before{content:"\edb7"}.icofont-padding:before{content:"\edb8"}.icofont-penalty-card:before{content:"\edb9"}.icofont-racer:before{content:"\edba"}.icofont-racing-car:before{content:"\edbb"}.icofont-racing-flag-alt:before{content:"\edbc"}.icofont-racing-flag:before{content:"\edbd"}.icofont-racings-wheel:before{content:"\edbe"}.icofont-referee:before{content:"\edbf"}.icofont-refree-jersey:before{content:"\edc0"}.icofont-result-sport:before{content:"\edc1"}.icofont-rugby-ball:before{content:"\edc2"}.icofont-rugby-player:before{content:"\edc3"}.icofont-rugby:before{content:"\edc4"}.icofont-runner-alt-1:before{content:"\edc5"}.icofont-runner-alt-2:before{content:"\edc6"}.icofont-runner:before{content:"\edc7"}.icofont-score-board:before{content:"\edc8"}.icofont-skiing-man:before{content:"\edc9"}.icofont-skydiving-goggles:before{content:"\edca"}.icofont-snow-mobile:before{content:"\edcb"}.icofont-steering:before{content:"\edcc"}.icofont-stopwatch:before{content:"\edcd"}.icofont-substitute:before{content:"\edce"}.icofont-swimmer:before{content:"\edcf"}.icofont-table-tennis:before{content:"\edd0"}.icofont-team-alt:before{content:"\edd1"}.icofont-team:before{content:"\edd2"}.icofont-tennis-player:before{content:"\edd3"}.icofont-tennis:before{content:"\edd4"}.icofont-tracking:before{content:"\edd5"}.icofont-trophy-alt:before{content:"\edd6"}.icofont-trophy:before{content:"\edd7"}.icofont-volleyball-alt:before{content:"\edd8"}.icofont-volleyball-fire:before{content:"\edd9"}.icofont-volleyball:before{content:"\edda"}.icofont-water-bottle:before{content:"\eddb"}.icofont-whistle-alt:before{content:"\eddc"}.icofont-whistle:before{content:"\eddd"}.icofont-win-trophy:before{content:"\edde"}.icofont-align-center:before{content:"\eddf"}.icofont-align-left:before{content:"\ede0"}.icofont-align-right:before{content:"\ede1"}.icofont-all-caps:before{content:"\ede2"}.icofont-bold:before{content:"\ede3"}.icofont-brush:before{content:"\ede4"}.icofont-clip-board:before{content:"\ede5"}.icofont-code-alt:before{content:"\ede6"}.icofont-color-bucket:before{content:"\ede7"}.icofont-color-picker:before{content:"\ede8"}.icofont-copy-invert:before{content:"\ede9"}.icofont-copy:before{content:"\edea"}.icofont-cut:before{content:"\edeb"}.icofont-delete-alt:before{content:"\edec"}.icofont-edit-alt:before{content:"\eded"}.icofont-eraser-alt:before{content:"\edee"}.icofont-font:before{content:"\edef"}.icofont-heading:before{content:"\edf0"}.icofont-indent:before{content:"\edf1"}.icofont-italic-alt:before{content:"\edf2"}.icofont-italic:before{content:"\edf3"}.icofont-justify-all:before{content:"\edf4"}.icofont-justify-center:before{content:"\edf5"}.icofont-justify-left:before{content:"\edf6"}.icofont-justify-right:before{content:"\edf7"}.icofont-link-broken:before{content:"\edf8"}.icofont-outdent:before{content:"\edf9"}.icofont-paper-clip:before{content:"\edfa"}.icofont-paragraph:before{content:"\edfb"}.icofont-pin:before{content:"\edfc"}.icofont-printer:before{content:"\edfd"}.icofont-redo:before{content:"\edfe"}.icofont-rotation:before{content:"\edff"}.icofont-save:before{content:"\ee00"}.icofont-small-cap:before{content:"\ee01"}.icofont-strike-through:before{content:"\ee02"}.icofont-sub-listing:before{content:"\ee03"}.icofont-subscript:before{content:"\ee04"}.icofont-superscript:before{content:"\ee05"}.icofont-table:before{content:"\ee06"}.icofont-text-height:before{content:"\ee07"}.icofont-text-width:before{content:"\ee08"}.icofont-trash:before{content:"\ee09"}.icofont-underline:before{content:"\ee0a"}.icofont-undo:before{content:"\ee0b"}.icofont-air-balloon:before{content:"\ee0c"}.icofont-airplane-alt:before{content:"\ee0d"}.icofont-airplane:before{content:"\ee0e"}.icofont-articulated-truck:before{content:"\ee0f"}.icofont-auto-mobile:before{content:"\ee10"}.icofont-auto-rickshaw:before{content:"\ee11"}.icofont-bicycle-alt-1:before{content:"\ee12"}.icofont-bicycle-alt-2:before{content:"\ee13"}.icofont-bicycle:before{content:"\ee14"}.icofont-bus-alt-1:before{content:"\ee15"}.icofont-bus-alt-2:before{content:"\ee16"}.icofont-bus-alt-3:before{content:"\ee17"}.icofont-bus:before{content:"\ee18"}.icofont-cab:before{content:"\ee19"}.icofont-cable-car:before{content:"\ee1a"}.icofont-car-alt-1:before{content:"\ee1b"}.icofont-car-alt-2:before{content:"\ee1c"}.icofont-car-alt-3:before{content:"\ee1d"}.icofont-car-alt-4:before{content:"\ee1e"}.icofont-car:before{content:"\ee1f"}.icofont-delivery-time:before{content:"\ee20"}.icofont-fast-delivery:before{content:"\ee21"}.icofont-fire-truck-alt:before{content:"\ee22"}.icofont-fire-truck:before{content:"\ee23"}.icofont-free-delivery:before{content:"\ee24"}.icofont-helicopter:before{content:"\ee25"}.icofont-motor-bike-alt:before{content:"\ee26"}.icofont-motor-bike:before{content:"\ee27"}.icofont-motor-biker:before{content:"\ee28"}.icofont-oil-truck:before{content:"\ee29"}.icofont-rickshaw:before{content:"\ee2a"}.icofont-rocket-alt-1:before{content:"\ee2b"}.icofont-rocket-alt-2:before{content:"\ee2c"}.icofont-rocket:before{content:"\ee2d"}.icofont-sail-boat-alt-1:before{content:"\ee2e"}.icofont-sail-boat-alt-2:before{content:"\ee2f"}.icofont-sail-boat:before{content:"\ee30"}.icofont-scooter:before{content:"\ee31"}.icofont-sea-plane:before{content:"\ee32"}.icofont-ship-alt:before{content:"\ee33"}.icofont-ship:before{content:"\ee34"}.icofont-speed-boat:before{content:"\ee35"}.icofont-taxi:before{content:"\ee36"}.icofont-tractor:before{content:"\ee37"}.icofont-train-line:before{content:"\ee38"}.icofont-train-steam:before{content:"\ee39"}.icofont-tram:before{content:"\ee3a"}.icofont-truck-alt:before{content:"\ee3b"}.icofont-truck-loaded:before{content:"\ee3c"}.icofont-truck:before{content:"\ee3d"}.icofont-van-alt:before{content:"\ee3e"}.icofont-van:before{content:"\ee3f"}.icofont-yacht:before{content:"\ee40"}.icofont-5-star-hotel:before{content:"\ee41"}.icofont-air-ticket:before{content:"\ee42"}.icofont-beach-bed:before{content:"\ee43"}.icofont-beach:before{content:"\ee44"}.icofont-camping-vest:before{content:"\ee45"}.icofont-direction-sign:before{content:"\ee46"}.icofont-hill-side:before{content:"\ee47"}.icofont-hill:before{content:"\ee48"}.icofont-hotel:before{content:"\ee49"}.icofont-island-alt:before{content:"\ee4a"}.icofont-island:before{content:"\ee4b"}.icofont-sandals-female:before{content:"\ee4c"}.icofont-sandals-male:before{content:"\ee4d"}.icofont-travelling:before{content:"\ee4e"}.icofont-breakdown:before{content:"\ee4f"}.icofont-celsius:before{content:"\ee50"}.icofont-clouds:before{content:"\ee51"}.icofont-cloudy:before{content:"\ee52"}.icofont-dust:before{content:"\ee53"}.icofont-eclipse:before{content:"\ee54"}.icofont-fahrenheit:before{content:"\ee55"}.icofont-forest-fire:before{content:"\ee56"}.icofont-full-night:before{content:"\ee57"}.icofont-full-sunny:before{content:"\ee58"}.icofont-hail-night:before{content:"\ee59"}.icofont-hail-rainy-night:before{content:"\ee5a"}.icofont-hail-rainy-sunny:before{content:"\ee5b"}.icofont-hail-rainy:before{content:"\ee5c"}.icofont-hail-sunny:before{content:"\ee5d"}.icofont-hail-thunder-night:before{content:"\ee5e"}.icofont-hail-thunder-sunny:before{content:"\ee5f"}.icofont-hail-thunder:before{content:"\ee60"}.icofont-hail:before{content:"\ee61"}.icofont-hill-night:before{content:"\ee62"}.icofont-hill-sunny:before{content:"\ee63"}.icofont-hurricane:before{content:"\ee64"}.icofont-meteor:before{content:"\ee65"}.icofont-night:before{content:"\ee66"}.icofont-rainy-night:before{content:"\ee67"}.icofont-rainy-sunny:before{content:"\ee68"}.icofont-rainy-thunder:before{content:"\ee69"}.icofont-rainy:before{content:"\ee6a"}.icofont-snow-alt:before{content:"\ee6b"}.icofont-snow-flake:before{content:"\ee6c"}.icofont-snow-temp:before{content:"\ee6d"}.icofont-snow:before{content:"\ee6e"}.icofont-snowy-hail:before{content:"\ee6f"}.icofont-snowy-night-hail:before{content:"\ee70"}.icofont-snowy-night-rainy:before{content:"\ee71"}.icofont-snowy-night:before{content:"\ee72"}.icofont-snowy-rainy:before{content:"\ee73"}.icofont-snowy-sunny-hail:before{content:"\ee74"}.icofont-snowy-sunny-rainy:before{content:"\ee75"}.icofont-snowy-sunny:before{content:"\ee76"}.icofont-snowy-thunder-night:before{content:"\ee77"}.icofont-snowy-thunder-sunny:before{content:"\ee78"}.icofont-snowy-thunder:before{content:"\ee79"}.icofont-snowy-windy-night:before{content:"\ee7a"}.icofont-snowy-windy-sunny:before{content:"\ee7b"}.icofont-snowy-windy:before{content:"\ee7c"}.icofont-snowy:before{content:"\ee7d"}.icofont-sun-alt:before{content:"\ee7e"}.icofont-sun-rise:before{content:"\ee7f"}.icofont-sun-set:before{content:"\ee80"}.icofont-sun:before{content:"\ee81"}.icofont-sunny-day-temp:before{content:"\ee82"}.icofont-sunny:before{content:"\ee83"}.icofont-thunder-light:before{content:"\ee84"}.icofont-tornado:before{content:"\ee85"}.icofont-umbrella-alt:before{content:"\ee86"}.icofont-umbrella:before{content:"\ee87"}.icofont-volcano:before{content:"\ee88"}.icofont-wave:before{content:"\ee89"}.icofont-wind-scale-0:before{content:"\ee8a"}.icofont-wind-scale-1:before{content:"\ee8b"}.icofont-wind-scale-10:before{content:"\ee8c"}.icofont-wind-scale-11:before{content:"\ee8d"}.icofont-wind-scale-12:before{content:"\ee8e"}.icofont-wind-scale-2:before{content:"\ee8f"}.icofont-wind-scale-3:before{content:"\ee90"}.icofont-wind-scale-4:before{content:"\ee91"}.icofont-wind-scale-5:before{content:"\ee92"}.icofont-wind-scale-6:before{content:"\ee93"}.icofont-wind-scale-7:before{content:"\ee94"}.icofont-wind-scale-8:before{content:"\ee95"}.icofont-wind-scale-9:before{content:"\ee96"}.icofont-wind-waves:before{content:"\ee97"}.icofont-wind:before{content:"\ee98"}.icofont-windy-hail:before{content:"\ee99"}.icofont-windy-night:before{content:"\ee9a"}.icofont-windy-raining:before{content:"\ee9b"}.icofont-windy-sunny:before{content:"\ee9c"}.icofont-windy-thunder-raining:before{content:"\ee9d"}.icofont-windy-thunder:before{content:"\ee9e"}.icofont-windy:before{content:"\ee9f"}.icofont-addons:before{content:"\eea0"}.icofont-address-book:before{content:"\eea1"}.icofont-adjust:before{content:"\eea2"}.icofont-alarm:before{content:"\eea3"}.icofont-anchor:before{content:"\eea4"}.icofont-archive:before{content:"\eea5"}.icofont-at:before{content:"\eea6"}.icofont-attachment:before{content:"\eea7"}.icofont-audio:before{content:"\eea8"}.icofont-automation:before{content:"\eea9"}.icofont-badge:before{content:"\eeaa"}.icofont-bag-alt:before{content:"\eeab"}.icofont-bag:before{content:"\eeac"}.icofont-ban:before{content:"\eead"}.icofont-bar-code:before{content:"\eeae"}.icofont-bars:before{content:"\eeaf"}.icofont-basket:before{content:"\eeb0"}.icofont-battery-empty:before{content:"\eeb1"}.icofont-battery-full:before{content:"\eeb2"}.icofont-battery-half:before{content:"\eeb3"}.icofont-battery-low:before{content:"\eeb4"}.icofont-beaker:before{content:"\eeb5"}.icofont-beard:before{content:"\eeb6"}.icofont-bed:before{content:"\eeb7"}.icofont-bell:before{content:"\eeb8"}.icofont-beverage:before{content:"\eeb9"}.icofont-bill:before{content:"\eeba"}.icofont-bin:before{content:"\eebb"}.icofont-binary:before{content:"\eebc"}.icofont-binoculars:before{content:"\eebd"}.icofont-bluetooth:before{content:"\eebe"}.icofont-bomb:before{content:"\eebf"}.icofont-book-mark:before{content:"\eec0"}.icofont-box:before{content:"\eec1"}.icofont-briefcase:before{content:"\eec2"}.icofont-broken:before{content:"\eec3"}.icofont-bucket:before{content:"\eec4"}.icofont-bucket1:before{content:"\eec5"}.icofont-bucket2:before{content:"\eec6"}.icofont-bug:before{content:"\eec7"}.icofont-building:before{content:"\eec8"}.icofont-bulb-alt:before{content:"\eec9"}.icofont-bullet:before{content:"\eeca"}.icofont-bullhorn:before{content:"\eecb"}.icofont-bullseye:before{content:"\eecc"}.icofont-calendar:before{content:"\eecd"}.icofont-camera-alt:before{content:"\eece"}.icofont-camera:before{content:"\eecf"}.icofont-card:before{content:"\eed0"}.icofont-cart-alt:before{content:"\eed1"}.icofont-cart:before{content:"\eed2"}.icofont-cc:before{content:"\eed3"}.icofont-charging:before{content:"\eed4"}.icofont-chat:before{content:"\eed5"}.icofont-check-alt:before{content:"\eed6"}.icofont-check-circled:before{content:"\eed7"}.icofont-check:before{content:"\eed8"}.icofont-checked:before{content:"\eed9"}.icofont-children-care:before{content:"\eeda"}.icofont-clip:before{content:"\eedb"}.icofont-clock-time:before{content:"\eedc"}.icofont-close-circled:before{content:"\eedd"}.icofont-close-line-circled:before{content:"\eede"}.icofont-close-line-squared-alt:before{content:"\eedf"}.icofont-close-line-squared:before{content:"\eee0"}.icofont-close-line:before{content:"\eee1"}.icofont-close-squared-alt:before{content:"\eee2"}.icofont-close-squared:before{content:"\eee3"}.icofont-close:before{content:"\eee4"}.icofont-cloud-download:before{content:"\eee5"}.icofont-cloud-refresh:before{content:"\eee6"}.icofont-cloud-upload:before{content:"\eee7"}.icofont-cloud:before{content:"\eee8"}.icofont-code-not-allowed:before{content:"\eee9"}.icofont-code:before{content:"\eeea"}.icofont-comment:before{content:"\eeeb"}.icofont-compass-alt:before{content:"\eeec"}.icofont-compass:before{content:"\eeed"}.icofont-computer:before{content:"\eeee"}.icofont-connection:before{content:"\eeef"}.icofont-console:before{content:"\eef0"}.icofont-contacts:before{content:"\eef1"}.icofont-contrast:before{content:"\eef2"}.icofont-copyright:before{content:"\eef3"}.icofont-credit-card:before{content:"\eef4"}.icofont-crop:before{content:"\eef5"}.icofont-crown:before{content:"\eef6"}.icofont-cube:before{content:"\eef7"}.icofont-cubes:before{content:"\eef8"}.icofont-dashboard-web:before{content:"\eef9"}.icofont-dashboard:before{content:"\eefa"}.icofont-data:before{content:"\eefb"}.icofont-database-add:before{content:"\eefc"}.icofont-database-locked:before{content:"\eefd"}.icofont-database-remove:before{content:"\eefe"}.icofont-database:before{content:"\eeff"}.icofont-delete:before{content:"\ef00"}.icofont-diamond:before{content:"\ef01"}.icofont-dice-multiple:before{content:"\ef02"}.icofont-dice:before{content:"\ef03"}.icofont-disc:before{content:"\ef04"}.icofont-diskette:before{content:"\ef05"}.icofont-document-folder:before{content:"\ef06"}.icofont-download-alt:before{content:"\ef07"}.icofont-download:before{content:"\ef08"}.icofont-downloaded:before{content:"\ef09"}.icofont-drag:before{content:"\ef0a"}.icofont-drag1:before{content:"\ef0b"}.icofont-drag2:before{content:"\ef0c"}.icofont-drag3:before{content:"\ef0d"}.icofont-earth:before{content:"\ef0e"}.icofont-ebook:before{content:"\ef0f"}.icofont-edit:before{content:"\ef10"}.icofont-eject:before{content:"\ef11"}.icofont-email:before{content:"\ef12"}.icofont-envelope-open:before{content:"\ef13"}.icofont-envelope:before{content:"\ef14"}.icofont-eraser:before{content:"\ef15"}.icofont-error:before{content:"\ef16"}.icofont-excavator:before{content:"\ef17"}.icofont-exchange:before{content:"\ef18"}.icofont-exclamation-circle:before{content:"\ef19"}.icofont-exclamation-square:before{content:"\ef1a"}.icofont-exclamation-tringle:before{content:"\ef1b"}.icofont-exclamation:before{content:"\ef1c"}.icofont-exit:before{content:"\ef1d"}.icofont-expand:before{content:"\ef1e"}.icofont-external-link:before{content:"\ef1f"}.icofont-external:before{content:"\ef20"}.icofont-eye-alt:before{content:"\ef21"}.icofont-eye-blocked:before{content:"\ef22"}.icofont-eye-dropper:before{content:"\ef23"}.icofont-eye:before{content:"\ef24"}.icofont-favourite:before{content:"\ef25"}.icofont-fax:before{content:"\ef26"}.icofont-file-fill:before{content:"\ef27"}.icofont-film:before{content:"\ef28"}.icofont-filter:before{content:"\ef29"}.icofont-fire-alt:before{content:"\ef2a"}.icofont-fire-burn:before{content:"\ef2b"}.icofont-fire:before{content:"\ef2c"}.icofont-flag-alt-1:before{content:"\ef2d"}.icofont-flag-alt-2:before{content:"\ef2e"}.icofont-flag:before{content:"\ef2f"}.icofont-flame-torch:before{content:"\ef30"}.icofont-flash-light:before{content:"\ef31"}.icofont-flash:before{content:"\ef32"}.icofont-flask:before{content:"\ef33"}.icofont-focus:before{content:"\ef34"}.icofont-folder-open:before{content:"\ef35"}.icofont-folder:before{content:"\ef36"}.icofont-foot-print:before{content:"\ef37"}.icofont-garbage:before{content:"\ef38"}.icofont-gear-alt:before{content:"\ef39"}.icofont-gear:before{content:"\ef3a"}.icofont-gears:before{content:"\ef3b"}.icofont-gift:before{content:"\ef3c"}.icofont-glass:before{content:"\ef3d"}.icofont-globe:before{content:"\ef3e"}.icofont-graffiti:before{content:"\ef3f"}.icofont-grocery:before{content:"\ef40"}.icofont-hand:before{content:"\ef41"}.icofont-hanger:before{content:"\ef42"}.icofont-hard-disk:before{content:"\ef43"}.icofont-heart-alt:before{content:"\ef44"}.icofont-heart:before{content:"\ef45"}.icofont-history:before{content:"\ef46"}.icofont-home:before{content:"\ef47"}.icofont-horn:before{content:"\ef48"}.icofont-hour-glass:before{content:"\ef49"}.icofont-id:before{content:"\ef4a"}.icofont-image:before{content:"\ef4b"}.icofont-inbox:before{content:"\ef4c"}.icofont-infinite:before{content:"\ef4d"}.icofont-info-circle:before{content:"\ef4e"}.icofont-info-square:before{content:"\ef4f"}.icofont-info:before{content:"\ef50"}.icofont-institution:before{content:"\ef51"}.icofont-interface:before{content:"\ef52"}.icofont-invisible:before{content:"\ef53"}.icofont-jacket:before{content:"\ef54"}.icofont-jar:before{content:"\ef55"}.icofont-jewlery:before{content:"\ef56"}.icofont-karate:before{content:"\ef57"}.icofont-key-hole:before{content:"\ef58"}.icofont-key:before{content:"\ef59"}.icofont-label:before{content:"\ef5a"}.icofont-lamp:before{content:"\ef5b"}.icofont-layers:before{content:"\ef5c"}.icofont-layout:before{content:"\ef5d"}.icofont-leaf:before{content:"\ef5e"}.icofont-leaflet:before{content:"\ef5f"}.icofont-learn:before{content:"\ef60"}.icofont-lego:before{content:"\ef61"}.icofont-lens:before{content:"\ef62"}.icofont-letter:before{content:"\ef63"}.icofont-letterbox:before{content:"\ef64"}.icofont-library:before{content:"\ef65"}.icofont-license:before{content:"\ef66"}.icofont-life-bouy:before{content:"\ef67"}.icofont-life-buoy:before{content:"\ef68"}.icofont-life-jacket:before{content:"\ef69"}.icofont-life-ring:before{content:"\ef6a"}.icofont-light-bulb:before{content:"\ef6b"}.icofont-lighter:before{content:"\ef6c"}.icofont-lightning-ray:before{content:"\ef6d"}.icofont-like:before{content:"\ef6e"}.icofont-line-height:before{content:"\ef6f"}.icofont-link-alt:before{content:"\ef70"}.icofont-link:before{content:"\ef71"}.icofont-list:before{content:"\ef72"}.icofont-listening:before{content:"\ef73"}.icofont-listine-dots:before{content:"\ef74"}.icofont-listing-box:before{content:"\ef75"}.icofont-listing-number:before{content:"\ef76"}.icofont-live-support:before{content:"\ef77"}.icofont-location-arrow:before{content:"\ef78"}.icofont-location-pin:before{content:"\ef79"}.icofont-lock:before{content:"\ef7a"}.icofont-login:before{content:"\ef7b"}.icofont-logout:before{content:"\ef7c"}.icofont-lollipop:before{content:"\ef7d"}.icofont-long-drive:before{content:"\ef7e"}.icofont-look:before{content:"\ef7f"}.icofont-loop:before{content:"\ef80"}.icofont-luggage:before{content:"\ef81"}.icofont-lunch:before{content:"\ef82"}.icofont-lungs:before{content:"\ef83"}.icofont-magic-alt:before{content:"\ef84"}.icofont-magic:before{content:"\ef85"}.icofont-magnet:before{content:"\ef86"}.icofont-mail-box:before{content:"\ef87"}.icofont-mail:before{content:"\ef88"}.icofont-male:before{content:"\ef89"}.icofont-map-pins:before{content:"\ef8a"}.icofont-map:before{content:"\ef8b"}.icofont-maximize:before{content:"\ef8c"}.icofont-measure:before{content:"\ef8d"}.icofont-medicine:before{content:"\ef8e"}.icofont-mega-phone:before{content:"\ef8f"}.icofont-megaphone-alt:before{content:"\ef90"}.icofont-megaphone:before{content:"\ef91"}.icofont-memorial:before{content:"\ef92"}.icofont-memory-card:before{content:"\ef93"}.icofont-mic-mute:before{content:"\ef94"}.icofont-mic:before{content:"\ef95"}.icofont-military:before{content:"\ef96"}.icofont-mill:before{content:"\ef97"}.icofont-minus-circle:before{content:"\ef98"}.icofont-minus-square:before{content:"\ef99"}.icofont-minus:before{content:"\ef9a"}.icofont-mobile-phone:before{content:"\ef9b"}.icofont-molecule:before{content:"\ef9c"}.icofont-money:before{content:"\ef9d"}.icofont-moon:before{content:"\ef9e"}.icofont-mop:before{content:"\ef9f"}.icofont-muffin:before{content:"\efa0"}.icofont-mustache:before{content:"\efa1"}.icofont-navigation-menu:before{content:"\efa2"}.icofont-navigation:before{content:"\efa3"}.icofont-network-tower:before{content:"\efa4"}.icofont-network:before{content:"\efa5"}.icofont-news:before{content:"\efa6"}.icofont-newspaper:before{content:"\efa7"}.icofont-no-smoking:before{content:"\efa8"}.icofont-not-allowed:before{content:"\efa9"}.icofont-notebook:before{content:"\efaa"}.icofont-notepad:before{content:"\efab"}.icofont-notification:before{content:"\efac"}.icofont-numbered:before{content:"\efad"}.icofont-opposite:before{content:"\efae"}.icofont-optic:before{content:"\efaf"}.icofont-options:before{content:"\efb0"}.icofont-package:before{content:"\efb1"}.icofont-page:before{content:"\efb2"}.icofont-paint:before{content:"\efb3"}.icofont-paper-plane:before{content:"\efb4"}.icofont-paperclip:before{content:"\efb5"}.icofont-papers:before{content:"\efb6"}.icofont-pay:before{content:"\efb7"}.icofont-penguin-linux:before{content:"\efb8"}.icofont-pestle:before{content:"\efb9"}.icofont-phone-circle:before{content:"\efba"}.icofont-phone:before{content:"\efbb"}.icofont-picture:before{content:"\efbc"}.icofont-pine:before{content:"\efbd"}.icofont-pixels:before{content:"\efbe"}.icofont-plugin:before{content:"\efbf"}.icofont-plus-circle:before{content:"\efc0"}.icofont-plus-square:before{content:"\efc1"}.icofont-plus:before{content:"\efc2"}.icofont-polygonal:before{content:"\efc3"}.icofont-power:before{content:"\efc4"}.icofont-price:before{content:"\efc5"}.icofont-print:before{content:"\efc6"}.icofont-puzzle:before{content:"\efc7"}.icofont-qr-code:before{content:"\efc8"}.icofont-queen:before{content:"\efc9"}.icofont-question-circle:before{content:"\efca"}.icofont-question-square:before{content:"\efcb"}.icofont-question:before{content:"\efcc"}.icofont-quote-left:before{content:"\efcd"}.icofont-quote-right:before{content:"\efce"}.icofont-random:before{content:"\efcf"}.icofont-recycle:before{content:"\efd0"}.icofont-refresh:before{content:"\efd1"}.icofont-repair:before{content:"\efd2"}.icofont-reply-all:before{content:"\efd3"}.icofont-reply:before{content:"\efd4"}.icofont-resize:before{content:"\efd5"}.icofont-responsive:before{content:"\efd6"}.icofont-retweet:before{content:"\efd7"}.icofont-road:before{content:"\efd8"}.icofont-robot:before{content:"\efd9"}.icofont-royal:before{content:"\efda"}.icofont-rss-feed:before{content:"\efdb"}.icofont-safety:before{content:"\efdc"}.icofont-sale-discount:before{content:"\efdd"}.icofont-satellite:before{content:"\efde"}.icofont-send-mail:before{content:"\efdf"}.icofont-server:before{content:"\efe0"}.icofont-settings-alt:before{content:"\efe1"}.icofont-settings:before{content:"\efe2"}.icofont-share-alt:before{content:"\efe3"}.icofont-share-boxed:before{content:"\efe4"}.icofont-share:before{content:"\efe5"}.icofont-shield:before{content:"\efe6"}.icofont-shopping-cart:before{content:"\efe7"}.icofont-sign-in:before{content:"\efe8"}.icofont-sign-out:before{content:"\efe9"}.icofont-signal:before{content:"\efea"}.icofont-site-map:before{content:"\efeb"}.icofont-smart-phone:before{content:"\efec"}.icofont-soccer:before{content:"\efed"}.icofont-sort-alt:before{content:"\efee"}.icofont-sort:before{content:"\efef"}.icofont-space:before{content:"\eff0"}.icofont-spanner:before{content:"\eff1"}.icofont-speech-comments:before{content:"\eff2"}.icofont-speed-meter:before{content:"\eff3"}.icofont-spinner-alt-1:before{content:"\eff4"}.icofont-spinner-alt-2:before{content:"\eff5"}.icofont-spinner-alt-3:before{content:"\eff6"}.icofont-spinner-alt-4:before{content:"\eff7"}.icofont-spinner-alt-5:before{content:"\eff8"}.icofont-spinner-alt-6:before{content:"\eff9"}.icofont-spinner:before{content:"\effa"}.icofont-spreadsheet:before{content:"\effb"}.icofont-square:before{content:"\effc"}.icofont-ssl-security:before{content:"\effd"}.icofont-star-alt-1:before{content:"\effe"}.icofont-star-alt-2:before{content:"\efff"}.icofont-star:before{content:"\f000"}.icofont-street-view:before{content:"\f001"}.icofont-support-faq:before{content:"\f002"}.icofont-tack-pin:before{content:"\f003"}.icofont-tag:before{content:"\f004"}.icofont-tags:before{content:"\f005"}.icofont-tasks-alt:before{content:"\f006"}.icofont-tasks:before{content:"\f007"}.icofont-telephone:before{content:"\f008"}.icofont-telescope:before{content:"\f009"}.icofont-terminal:before{content:"\f00a"}.icofont-thumbs-down:before{content:"\f00b"}.icofont-thumbs-up:before{content:"\f00c"}.icofont-tick-boxed:before{content:"\f00d"}.icofont-tick-mark:before{content:"\f00e"}.icofont-ticket:before{content:"\f00f"}.icofont-tie:before{content:"\f010"}.icofont-toggle-off:before{content:"\f011"}.icofont-toggle-on:before{content:"\f012"}.icofont-tools-alt-2:before{content:"\f013"}.icofont-tools:before{content:"\f014"}.icofont-touch:before{content:"\f015"}.icofont-traffic-light:before{content:"\f016"}.icofont-transparent:before{content:"\f017"}.icofont-tree:before{content:"\f018"}.icofont-unique-idea:before{content:"\f019"}.icofont-unlock:before{content:"\f01a"}.icofont-unlocked:before{content:"\f01b"}.icofont-upload-alt:before{content:"\f01c"}.icofont-upload:before{content:"\f01d"}.icofont-usb-drive:before{content:"\f01e"}.icofont-usb:before{content:"\f01f"}.icofont-vector-path:before{content:"\f020"}.icofont-verification-check:before{content:"\f021"}.icofont-wall-clock:before{content:"\f022"}.icofont-wall:before{content:"\f023"}.icofont-wallet:before{content:"\f024"}.icofont-warning-alt:before{content:"\f025"}.icofont-warning:before{content:"\f026"}.icofont-water-drop:before{content:"\f027"}.icofont-web:before{content:"\f028"}.icofont-wheelchair:before{content:"\f029"}.icofont-wifi-alt:before{content:"\f02a"}.icofont-wifi:before{content:"\f02b"}.icofont-world:before{content:"\f02c"}.icofont-zigzag:before{content:"\f02d"}.icofont-zipped:before{content:"\f02e"}.icofont-xs{font-size:.5em}.icofont-sm{font-size:.75em}.icofont-md{font-size:1.25em}.icofont-lg{font-size:1.5em}.icofont-1x{font-size:1em}.icofont-2x{font-size:2em}.icofont-3x{font-size:3em}.icofont-4x{font-size:4em}.icofont-5x{font-size:5em}.icofont-6x{font-size:6em}.icofont-7x{font-size:7em}.icofont-8x{font-size:8em}.icofont-9x{font-size:9em}.icofont-10x{font-size:10em}.icofont-fw{text-align:center;width:1.25em}.icofont-ul{list-style-type:none;padding-left:0;margin-left:0}.icofont-ul>li{position:relative;line-height:2em}.icofont-ul>li .icofont{display:inline-block;vertical-align:middle}.icofont-border{border:solid .08em #f1f1f1;border-radius:.1em;padding:.2em .25em .15em}.icofont-pull-left{float:left}.icofont-pull-right{float:right}.icofont.icofont-pull-left{margin-right:.3em}.icofont.icofont-pull-right{margin-left:.3em}.icofont-spin{-webkit-animation:icofont-spin 2s infinite linear;animation:icofont-spin 2s infinite linear;display:inline-block}.icofont-pulse{-webkit-animation:icofont-spin 1s infinite steps(8);animation:icofont-spin 1s infinite steps(8);display:inline-block}@-webkit-keyframes icofont-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes icofont-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.icofont-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.icofont-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.icofont-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.icofont-flip-horizontal{-webkit-transform:scale(-1,1);transform:scale(-1,1)}.icofont-flip-vertical{-webkit-transform:scale(1,-1);transform:scale(1,-1)}.icofont-flip-horizontal.icofont-flip-vertical{-webkit-transform:scale(-1,-1);transform:scale(-1,-1)}:root .icofont-flip-horizontal,:root .icofont-flip-vertical,:root .icofont-rotate-180,:root .icofont-rotate-270,:root .icofont-rotate-90{-webkit-filter:none;filter:none;display:inline-block}.icofont-inverse{color:#fff}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto} \ No newline at end of file diff --git a/public/index.php b/public/index.php new file mode 100644 index 0000000..3bcee0b --- /dev/null +++ b/public/index.php @@ -0,0 +1,22 @@ +bootEnv(dirname(__DIR__).'/.env'); + +if ($_SERVER['APP_DEBUG']) { + umask(0000); + + Debug::enable(); +} + +$kernel = new Kernel($_SERVER['APP_ENV'], (bool) $_SERVER['APP_DEBUG']); +$request = Request::createFromGlobals(); +$response = $kernel->handle($request); +$response->send(); +$kernel->terminate($request, $response); diff --git a/public/scripts/ajaxForm.js b/public/scripts/ajaxForm.js new file mode 100644 index 0000000..8d539e8 --- /dev/null +++ b/public/scripts/ajaxForm.js @@ -0,0 +1,68 @@ +"use strict"; + +// Update the form with the answer +function doActions(parent, data) { + // Redirect the user + if (data.redirect !== "") { + window.location.replace(data.redirect); + } + + // Refresh the page + if (data.refresh) { + if (data.error == '' && data.message == '') { + window.location.reload(); + } else { + setTimeout(function() { + window.location.reload(); + }, 3000); + } + } + + // Reset the form + if (data.reset) { + parent.reset(); + } + + // Update the form error + parent.querySelector('.form-error').innerHTML = data.error; + setTimeout(function() { + parent.querySelector('.form-error').innerHTML = ''; + }, 3000); + + // Update the form message + parent.querySelector('.form-message').innerHTML = data.message; + setTimeout(function() { + parent.querySelector('.form-message').innerHTML = ''; + }, 3000); +} + +// Add event listener +document.querySelectorAll('.ajax-form').forEach(function(element) { + element.onsubmit = function(event) { + event.preventDefault(); + if ( + (!event.target.hasAttribute("data-form-validator") + || eval(event.target.getAttribute("data-form-validator"))) + && (!event.target.hasAttribute("data-form-confirmation") + || confirm(event.target.getAttribute("data-form-confirmation"))) + ) { + // Get form data + let data = new URLSearchParams(); + for (let pair of new FormData(event.target)) { + let pairKey = pair[0]; + let pairValue = pair[1]; + data.append(pairKey, pairValue); + } + + // Fetch data + fetch(window.location.href, { + method: 'post', + body: data + }).then(function(response) { + response.json().then(function(json) { + doActions(event.target, json); + }); + }); + } + }; +}); \ No newline at end of file diff --git a/public/styles/card.css b/public/styles/card.css new file mode 100644 index 0000000..4402079 --- /dev/null +++ b/public/styles/card.css @@ -0,0 +1,15 @@ +.card { + border-radius: 0; + border: none; + box-shadow: 0.25rem 0.25rem 0.5rem var(--dark); +} + +.card-header, .card-header:first-child { + background-color: var(--primary-light); + border-radius: 0; + border: none; +} + +.card-body { + background-color: white; +} \ No newline at end of file diff --git a/public/styles/colors.css b/public/styles/colors.css new file mode 100644 index 0000000..9f7ce2f --- /dev/null +++ b/public/styles/colors.css @@ -0,0 +1,41 @@ +:root { + --primary: #428a78; + --primary-light: #87c5b5; + --primary-dark: #19342d; + --secondary: #8a4242; + --secondary-light: #c58787; + --secondary-dark: #341919; + --light: #f8f5ec; + --gray: #73808c; + --dark: #131007; + --green: #428a54; + --green-light: #87c596; + --green-dark: #193420; + --red: #8a4242; + --red-light: #c58787; + --red-dark: #341919; +} + +.color-green { + color: var(--green); +} + +.color-green-light { + color: var(--green-light); +} + +.color-green-dark { + color: var(--green-dark); +} + +.color-red { + color: var(--red); +} + +.color-red-light { + color: var(--red-light); +} + +.color-red-dark { + color: var(--red-dark); +} \ No newline at end of file diff --git a/public/styles/form.css b/public/styles/form.css new file mode 100644 index 0000000..65dfed4 --- /dev/null +++ b/public/styles/form.css @@ -0,0 +1,130 @@ +form { + width: 100%; +} + +button, label { + font-family: 'Kanit', sans-serif; + font-weight: bold; +} + +input, +button, +textarea, +select, +option { + border-radius: 0; + font-weight: bold; + font-size: 1rem; + padding: 0.2rem; + margin-top: 0.5rem; + margin-bottom: 0.5rem; + margin-left: 0; + margin-right: 0.2rem; +} + +input[type=text], +input[type=date], +select, +textarea { + background-color: var(--light); + border-width: 0 0 0 0.2rem; + border-color: var(--secondary-light); + border-style: solid; + padding-left: 0.75rem; + padding-top: 0.6rem; + outline: none; +} + +input[type=text]:focus, +input[type=date]:focus, +textarea:focus { + border-color: var(--secondary-dark); +} + +input[type=text][class*=input-invalid], +input[type=date][class*=input-invalid], +textarea[class*=input-invalid] { + border-color: var(--red); + border-width: 0 0 0 0.2rem; + background-color: var(--red-light); +} + +button { + color: black; + background-color: var(--light); + position: relative; + top: 0; + margin-left: 0; + margin-right: 0; + padding: 0.25rem; + font-size: 1.25rem; + border: none; + border-color: var(--dark); + box-shadow: 0 0.2rem 0 var(--dark); + transition-property: box-shadow, border-radius, top; + transition-duration: 0.1s; + transition-timing-function: linear; + border-radius: 0; +} + +button:hover { + box-shadow: 0 0.2rem 0.5rem var(--dark); + border-radius: 0.5rem; +} + +button:active { + top: 0.1rem; +} + +.icon-button, +.icon-button:hover { + border: none; + background: none; + box-shadow: none; + margin: 0; + padding: 0; +} + +option, optgroup option { + font-weight: bold; +} + +optgroup { + font-weight: normal; + font-size: 0.75rem; + font-style: normal; + color: var(--gray); +} + +label { + font-weight: bold; + margin-bottom: 0; +} + +label[class*=input-text-label] { + position: relative; + overflow: visible; + width: 0; + height: 0; + display: block; + white-space: nowrap; + left: 1.5rem; + color: black; + font-weight: bold; + font-size: 0.75rem; +} + +label[class*=required]::after { + display: inline-block; + margin-left: 0.2rem; + content: "*"; + color: var(--red) +} + +.form-error { + color: var(--red); +} + +.form-message { + color: var(--green); +} \ No newline at end of file diff --git a/public/styles/main.css b/public/styles/main.css new file mode 100644 index 0000000..06226cf --- /dev/null +++ b/public/styles/main.css @@ -0,0 +1,87 @@ +* { + color: var(--dark); + font-family: 'Asap', sans-serif; + text-decoration: none; + line-height: 1.25rem; +} + +html { + font-size: 100%; +} + +a, a * { + color: var(--secondary); + font-weight: bold; + margin: 0; +} + +a:hover, a:hover * { + text-decoration: none; + color: var(--secondary-light); +} + +body { + background-color: var(--light); +} + +h1 { + text-transform: uppercase; + font-weight: bold; + font-size: 1.5rem; +} + +h1, h1 * { + color: var(--primary); +} + +h2 { + text-transform: uppercase; + font-weight: bold; + font-size: 1.5rem; +} + +h2, h2 * { + color: var(--secondary); +} + +h1, h1 *, +h2, h2 *, +h3, h3 * { + font-family: 'Kanit', sans-serif; +} + +ul { + margin-bottom: 0; +} + +.container, header { + margin-left: 12rem; + padding-left: 3rem; + padding-right: 3rem; + width: auto; + max-width: none; +} + +header { + display: block; + height: 3rem; + padding-top: 0.5rem; + background-color: white; + box-shadow: 0 0 0.5rem black; +} + +code { + color: black; +} + +.container { + padding-top: 2rem; +} + +.col, .col-1, .col-10, .col-11, .col-12, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-auto, +.col-lg, .col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-auto, +.col-md, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-auto, +.col-sm, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-auto, +.col-xl, .col-xl-1, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-auto { + padding: 0.5rem; +} \ No newline at end of file diff --git a/public/styles/nav.css b/public/styles/nav.css new file mode 100644 index 0000000..6300777 --- /dev/null +++ b/public/styles/nav.css @@ -0,0 +1,49 @@ +nav { + height: 100%; + position: fixed; + background-color: var(--primary-dark); + width: 12rem; + box-shadow: 0 0 0.5rem black; + padding-left: 1rem; + padding-right: 1rem; +} + +.nav-category { + text-transform: uppercase; + color: var(--secondary); + font-size: 0.75rem; + font-weight: normal; + margin-top: 5rem; + margin-bottom: 0; +} + +nav li { + list-style-type: none; +} + +nav ul, nav ul *, nav ul *:hover { + color: var(--secondary-light); + font-size: 1rem; + font-weight: bold; + margin: 0; + padding: 0.2rem; + border-radius: 0.2rem; + transition: background-color 0.25s linear; +} + +nav ul:hover { + background-color: var(--primary); + transition: none; +} + +.nav-selected, .nav-selected:hover { + background: none; + margin-left: 1rem; + transition: none; +} + +nav .icon { + display: inline-block; + margin-right: 0.5rem; + width: 1rem; +} \ No newline at end of file diff --git a/public/styles/table.css b/public/styles/table.css new file mode 100644 index 0000000..f03a1f5 --- /dev/null +++ b/public/styles/table.css @@ -0,0 +1,27 @@ +table { + width: 100%; + text-align: center; + border-collapse: collapse; +} + +thead td { + background-color: var(--primary-light); + color: var(--secondary); + font-weight: bold; + font-size: 1.5rem; +} + +tbody tr:nth-child(even) { + background-color: var(--light); +} + +tbody tr { + background-color: white; +} + +tbody td { + padding: 0.25rem; + color: var(--dark); + font-weight: bold; + font-size: 1rem; +} \ No newline at end of file diff --git a/src/Controller/.gitignore b/src/Controller/.gitignore new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/src/Controller/.gitignore diff --git a/src/Controller/AbstractExtendedController.php b/src/Controller/AbstractExtendedController.php new file mode 100644 index 0000000..ba33a59 --- /dev/null +++ b/src/Controller/AbstractExtendedController.php @@ -0,0 +1,54 @@ + $settings["message"] ?? "", + "redirect" => $settings["redirect"] ?? "", + "error" => $settings["error"] ?? "", + "refresh" => $settings["refresh"] ?? false, + "reset" => $settings["reset"] ?? false, + ]; + + return $this->json($data, $settings["code"] ?? Response::HTTP_OK); + } + + /** + * Create a form inherited from AbstractGenericForm + * + * @param string $name + * @param string $type + * @param array $options + * @return AbstractFormManager + */ + protected function createNamedCustomForm(string $name, string $type, array $options = []): AbstractFormManager + { + $formBuilder = $this->container->get('form.factory')->createNamedBuilder($name, FormType::class); + return new $type($formBuilder, $options); + } +} diff --git a/src/Controller/ActivityController.php b/src/Controller/ActivityController.php new file mode 100644 index 0000000..b0453a5 --- /dev/null +++ b/src/Controller/ActivityController.php @@ -0,0 +1,149 @@ +getDoctrine()->getManager(); + /** @var ActivityRepository $activityRepository */ + $activityRepository = $entityManager->getRepository(ActivityEntity::class); + /** @var ActorRepository $actorRepository */ + $actorRepository = $entityManager->getRepository(ActorEntity::class); + + // Activity add form + /** @var ActivityAddForm $activityAddForm */ + $activityAddForm = $this->createNamedCustomForm('activityAdd', ActivityAddForm::class, [ + 'actors' => $actorRepository->findAll() + ]); + $activityAddForm->handleRequest($request); + if ($activityAddForm->isSubmitted() && $activityAddForm->isValid()) { + $errors = $activityAddForm->validate(); + if (empty($errors)) { + $activity = $activityAddForm->getActivity(); + $entityManager->persist($activity); + $entityManager->flush(); + return $this->ajaxFormAnswer([ + 'refresh' => true, + 'reset' => true, + ]); + } else { + return $this->ajaxFormAnswer([ + 'error' => join('
', $errors), + 'code' => Response::HTTP_BAD_REQUEST, + ]); + } + } + + // Activity delete form + /** @var ActivityDeleteForm $activityDeleteForm */ + $activityDeleteForm = $this->createNamedCustomForm('activityDelete', ActivityDeleteForm::class); + $activityDeleteForm->handleRequest($request); + if ($activityDeleteForm->isSubmitted() && $activityDeleteForm->isValid()) { + $errors = $activityDeleteForm->validate(); + if (empty($errors)) { + $activity = $activityDeleteForm->getActivity($activityRepository); + if (!is_null($activity)) { + $entityManager->remove($activity); + $entityManager->flush(); + return $this->ajaxFormAnswer([ + 'refresh' => true, + ]); + } else { + return $this->ajaxFormAnswer([ + 'error' => 'Activité non trouvé', + 'code' => Response::HTTP_BAD_REQUEST, + ]); + } + } else { + return $this->ajaxFormAnswer([ + 'error' => join('
', $errors), + 'code' => Response::HTTP_BAD_REQUEST, + ]); + } + } + + // Get activities + $activities = $activityRepository->findAll(); + + return $this->render('activity/activities.html.twig', [ + 'activities' => $activities, + 'activityDeleteForm' => $activityDeleteForm, + 'activityAddForm' => $activityAddForm, + ]); + } + + /** + * Page for editing activity + * + * @param String $id + * @param Request $request + * @return Response + */ + public function activity(string $id, Request $request): Response + { + // Get repositories + $entityManager = $this->getDoctrine()->getManager(); + /** @var ActivityRepository $actorRepository */ + $activityRepository = $entityManager->getRepository(ActivityEntity::class); + /** @var ActorRepository $actorRepository */ + $actorRepository = $entityManager->getRepository(ActorEntity::class); + + // Get activity + $activity = $activityRepository->find($id); + + // Activity edit form + /** @var ActivityEditForm $activityEditForm */ + $activityEditForm = $this->createNamedCustomForm('edit', ActivityEditForm::class, [ + 'actors' => $actorRepository->findAll() + ]); + $activityEditForm->handleRequest($request); + if ($activityEditForm->isSubmitted() && $activityEditForm->isValid()) { + $errors = $activityEditForm->validate(); + $errors = $activityEditForm->validate(); + if (empty($errors)) { + $activityEditForm->updateActivity($activity); + $entityManager->persist($activity); + $entityManager->flush(); + return $this->ajaxFormAnswer([ + 'message' => 'Modification enregistrées', + 'refresh' => true, + ]); + } else { + return $this->ajaxFormAnswer([ + 'error' => join('
', $errors), + 'code' => Response::HTTP_BAD_REQUEST, + ]); + } + } + + // Update fields + $activityEditForm->updateFields($activity); + + return $this->render('activity/activity.html.twig', [ + 'activity' => $activity, + 'activityEditForm' => $activityEditForm, + ]); + } +} \ No newline at end of file diff --git a/src/Controller/ActorController.php b/src/Controller/ActorController.php new file mode 100644 index 0000000..a23b023 --- /dev/null +++ b/src/Controller/ActorController.php @@ -0,0 +1,171 @@ +getDoctrine()->getManager(); + /** @var ActorRepository $actorRepository */ + $actorRepository = $entityManager->getRepository(ActorEntity::class); + + // Actor add form + /** @var ActorAddForm $actorAddFom */ + $actorAddFom = $this->createNamedCustomForm('actorAdd', ActorAddForm::class); + $actorAddFom->handleRequest($request); + if ($actorAddFom->isSubmitted() && $actorAddFom->isValid()) { + $errors = $actorAddFom->validate(); + if (empty($errors)) { + $actor = $actorAddFom->getActor(); + $entityManager->persist($actor); + $entityManager->flush(); + + return $this->ajaxFormAnswer([ + 'refresh' => true, + 'reset' => true, + ]); + } else { + return $this->ajaxFormAnswer([ + 'error' => join('
', $errors), + 'code' => Response::HTTP_BAD_REQUEST, + ]); + } + } + + // Actor delete form + /** @var ActorDeleteForm $actorDeleteForm */ + $actorDeleteForm = $this->createNamedCustomForm('actorDelete', ActorDeleteForm::class); + $actorDeleteForm->handleRequest($request); + if ($actorDeleteForm->isSubmitted() && $actorDeleteForm->isValid()) { + $errors = $actorDeleteForm->validate(); + if (empty($errors)) { + $actor = $actorDeleteForm->getActor($actorRepository); + if (!is_null($actor)) { + $entityManager->remove($actor); + $entityManager->flush(); + return $this->ajaxFormAnswer([ + 'refresh' => true, + ]); + } else { + return $this->ajaxFormAnswer([ + 'error' => 'Utilisateur non trouvé', + 'code' => Response::HTTP_BAD_REQUEST, + ]); + } + } else { + return $this->ajaxFormAnswer([ + 'error' => join('
', $errors), + 'code' => Response::HTTP_BAD_REQUEST, + ]); + } + } + + // Get actors + $actors = $actorRepository->findAll(); + + return $this->render('actor/actors.html.twig', [ + 'actorAddForm' => $actorAddFom, + 'actorDeleteForm' => $actorDeleteForm, + 'actors' => $actors, + ]); + } + + /** + * Actor edition page + * + * @param string $id + * @param Request $request + * @return Response + */ + public function actor(string $id, Request $request): Response + { + // Get repositories + $entityManager = $this->getDoctrine()->getManager(); + /** @var ActorRepository $actorRepository */ + $actorRepository = $entityManager->getRepository(ActorEntity::class); + /** @var ActivityRepository $activityRepository */ + $activityRepository = $entityManager->getRepository(ActivityEntity::class); + + // Get actor + $actor = $actorRepository->find($id); + + // Get activities + $activities = $activityRepository->findBy([ + 'actor' => $actor, + 'status' => StatusEnum::ACTIVE_STATUS + ]); + + // Actor edit form + /** @var ActorEditForm $actorEditForm */ + $actorEditForm = $this->createNamedCustomForm('edit', ActorEditForm::class); + $actorEditForm->handleRequest($request); + if ($actorEditForm->isSubmitted() && $actorEditForm->isValid()) { + $errors = $actorEditForm->validate(); + if (empty($errors)) { + $actorEditForm->updateActor($actor); + $entityManager->persist($actor); + $entityManager->flush(); + return $this->ajaxFormAnswer([ + 'message' => 'Modification enregistrées', + 'refresh' => true, + ]); + } else { + return $this->ajaxFormAnswer([ + 'error' => join('
', $errors), + 'code' => Response::HTTP_BAD_REQUEST, + ]); + } + } + + // Actor delete form + /** @var ActorDeleteForm $actorDeleteForm */ + $actorDeleteForm = $this->createNamedCustomForm('delete', ActorDeleteForm::class); + $actorDeleteForm->handleRequest($request); + if ($actorDeleteForm->isSubmitted() && $actorDeleteForm->isValid()) { + $errors = $actorDeleteForm->validate(); + if (empty($errors)) { + $entityManager->remove($actor); + $entityManager->flush(); + return $this->ajaxFormAnswer([ + 'redirect' => $this->generateUrl('actors_actors', [], UrlGenerator::ABSOLUTE_PATH), + ]); + } else { + return $this->ajaxFormAnswer([ + 'error' => join('
', $errors), + 'code' => Response::HTTP_BAD_REQUEST, + ]); + } + } + + // Update fields + $actorEditForm->updateFields($actor); + + return $this->render('actor/actor.html.twig', [ + 'actor' => $actor, + 'activities' => $activities, + 'editForm' => $actorEditForm, + 'deleteForm' => $actorDeleteForm, + ]); + } +} + diff --git a/src/Controller/MainController.php b/src/Controller/MainController.php new file mode 100644 index 0000000..3c3a050 --- /dev/null +++ b/src/Controller/MainController.php @@ -0,0 +1,33 @@ +getDoctrine()->getManager(); + /** @var ActivityRepository $activityRepository */ + $activityRepository = $entityManager->getRepository(ActivityEntity::class); + + // Get activities + $activities = $activityRepository->findActiveFollowed(); + + return $this->render('home.html.twig', [ + 'activities' => $activities + ]); + } +} \ No newline at end of file diff --git a/src/Entity/.gitignore b/src/Entity/.gitignore new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/src/Entity/.gitignore diff --git a/src/Entity/ActivityEntity.php b/src/Entity/ActivityEntity.php new file mode 100644 index 0000000..36846a6 --- /dev/null +++ b/src/Entity/ActivityEntity.php @@ -0,0 +1,251 @@ +id; + } + + /** + * Set the ID of the entity + *
This should not be done after creation + * + * @param string $id + * @return self + */ + public function setId(string $id): self + { + $this->id = $id; + + return $this; + } + + /** + * Generate and save a random ID + * + * @return string Generated ID + */ + public function generateId(): string + { + // Generate ID + $id = StringGenerationHelper::generateString(array_merge(range('a', 'z'), range('A', 'Z'), range('0', '9')), 8); + + // Save and return + $this->setId($id); + return $id; + } + + /** + * Get the activity name + * + * @return string + */ + public function getName(): string + { + return $this->name; + } + + /** + * Set a new name for the activity + * + * @param string $name + * @return self + */ + public function setName(string $name): self + { + $this->name = $name; + + return $this; + } + + /** + * Get the scheduled start date + * + * @return DateTime|NULL + */ + public function getStartDate(): ?DateTime + { + return $this->startDate; + } + + /** + * Set a new scheduled start date + * + * @param DateTime|NULL $startDate + * @return self + */ + public function setStartDate(?DateTime $startDate): self + { + $this->startDate = $startDate; + + return $this; + } + + /** + * Get the scheduled end date + * + * @return DateTime|NULL + */ + public function getEndDate(): ?DateTime + { + return $this->endDate; + } + + /** + * Set the new schedules end date + * + * @param DateTime|NULL $endDate + * @return self + */ + public function setEndDate(?DateTime $endDate): self + { + $this->endDate = $endDate; + + return $this; + } + + /** + * Get the effectiv start date + * + * @return DateTime|NULL + */ + public function getRealStartDate(): ?DateTime + { + return $this->realStartDate; + } + + /** + * Set the new effective start date + * + * @param DateTime|NULL $realStartDate + * @return self + */ + public function setRealStartDate(?DateTime $realStartDate): self + { + $this->realStartDate = $realStartDate; + + return $this; + } + + /** + * Get the effective end date + * + * @return DateTime|NULL + */ + public function getRealEndDate(): ?DateTime + { + return $this->realEndDate; + } + + /** + * Set the new effective end date + * + * @param DateTime|NULL $realEndDate + * @return self + */ + public function setRealEndDate(?DateTime $realEndDate): self + { + $this->realEndDate = $realEndDate; + + return $this; + } + + /** + * Get the related actor + * + * @return ActorEntity|NULL + */ + public function getActor(): ?ActorEntity + { + return $this->actor; + } + + /** + * Set the new related actor + * + * @param ActorEntity|NULL $actor + * @return self + */ + public function setActor(?ActorEntity $actor): self + { + $this->actor = $actor; + + return $this; + } + + /** + * Get the status of the activity + * + * @return string + * @see StatusEnum + */ + public function getStatus(): string + { + return $this->status; + } + + /** + * Set a new status for the activity + * + * @param string $status + * @return self + * @see StatusEnum + */ + public function setStatus(string $status): self + { + if (!in_array($status, $this::VALID_STATUS)) { + throw new InvalidEnumKeyException(); + } + $this->status = $status; + + return $this; + } +} \ No newline at end of file diff --git a/src/Entity/ActorEntity.php b/src/Entity/ActorEntity.php new file mode 100644 index 0000000..9a7784b --- /dev/null +++ b/src/Entity/ActorEntity.php @@ -0,0 +1,214 @@ +activities = new ArrayCollection(); + } + + /** + * Get the unique ID the entity + * + * @return string + */ + public function getId(): string + { + return $this->id; + } + + /** + * Set the ID of the entity + *
This should not be done after creation + * + * @param string $id + * @return self + */ + public function setId(string $id): self + { + $this->id = $id; + + return $this; + } + + /** + * Generate and save a random ID + * + * @return string Generated ID + */ + public function generateId(): string + { + // Generate ID + $id = StringGenerationHelper::generateString(array_merge(range('a', 'z'), range('A', 'Z'), range('0', '9')), 8); + + // Save and return + $this->setId($id); + return $id; + } + + /** + * Get the first name of the actor + * + * @return string + */ + public function getFirstName(): string + { + return $this->firstName; + } + + /** + * Set the first name of the actor + * + * @param string $firstName + * @return self + */ + public function setFirstName(string $firstName): self + { + $this->firstName = $firstName; + + return $this; + } + + /** + * Get the last name of the actor + * + * @return string + */ + public function getLastName(): string + { + return $this->lastName; + } + + /** + * Set the last name of the actor + * + * @param string $lastName + * @return self + */ + public function setLastName(string $lastName): self + { + $this->lastName = $lastName; + + return $this; + } + + /** + * Get the formated version of the full name (Firstname LASTNAME) + * + * @return string + */ + public function getFullName(): string + { + return sprintf('%s %s', ucfirst(strtolower($this->firstName)), strtoupper($this->lastName)); + } + + /** + * Get the nickname of the actor + * + * @return string|null + */ + public function getNickname(): string + { + return $this->nickname; + } + + /** + * Set the nickname name of the actor + * + * @param string $nickname + * @return self + */ + public function setNickname(string $nickname): self + { + $this->nickname = $nickname; + + return $this; + } + + /** + * Get the display name of the actor. + * Equals nickname if set, Firstname LASTNAME else. + * + * @return string + */ + public function getDisplayName(): string + { + return empty($this->nickname) ? $this->getFullName() : $this->nickname; + } + + /** + * If the actor is active + * + * @return bool + */ + public function getActive(): bool + { + return $this->active; + } + + /** + * Set the active status of the actor + * + * @param bool $active + * @return self + */ + public function setActive(bool $active): self + { + $this->active = $active; + + return $this; + } + + /** + * If the actor is followed + * + * @return bool + */ + public function getFollowed(): bool + { + return $this->followed; + } + + /** + * Set the followed status of the actor + * + * @param bool $followed + * @return self + */ + public function setFollowed(bool $followed): self + { + $this->followed = $followed; + + return $this; + } +} \ No newline at end of file diff --git a/src/Enum/StatusEnum.php b/src/Enum/StatusEnum.php new file mode 100644 index 0000000..570fb5a --- /dev/null +++ b/src/Enum/StatusEnum.php @@ -0,0 +1,40 @@ + 'Ouvert', + 'inProgress' => 'En cours', + 'waiting' => 'En attente', + 'planified' => 'Planifié', + 'closed' => 'Clos', + ]; + + /** @var array Status considered active */ + public const ACTIVE_STATUS = [ + self::OPEN, + self::IN_PROGRESS, + self::PLANIFIED, + ]; +} \ No newline at end of file diff --git a/src/Exception/InvalidEnumKeyException.php b/src/Exception/InvalidEnumKeyException.php new file mode 100644 index 0000000..11e256b --- /dev/null +++ b/src/Exception/InvalidEnumKeyException.php @@ -0,0 +1,11 @@ +id = md5(json_encode([ + 'class' => get_class($this), + 'name' => $formBuilder->getName(), + ])); + $this->addFields($formBuilder, $data); + $formBuilder->add('_ID', HiddenType::class, [ + 'attr' => [ + 'value' => $this->id, + ], + ]); + $this->form = $formBuilder->getForm(); + } + + /** + * Get the generated form view + * + * @return FormView + */ + public function getFormView(): FormView + { + return $this->form->createView(); + } + + /** + * Alias of form handleRequest method + * + * @param Request $request + * + * @see form::handleRequest() + */ + public function handleRequest(Request $request): void + { + $this->form->handleRequest($request); + } + + /** + * Alias for form isSubmitted method + * + * @return bool + * + * @see Form::isSubmitted() + */ + public function isSubmitted(): bool + { + if ($this->form->isSubmitted()) { + $data = $this->form->getData(); + return $data['_ID'] == $this->id; + } + return false; + } + + /** + * Alias of form isValid method + * + * @return bool + * + * @see Form::isValid() + */ + public function isValid(): bool + { + return $this->form->isValid(); + } + + /** + * Alias of form getData methos + * + * @return array + * + * @see Form::getData() + */ + public function getData(): array + { + return $this->form->getData(); + } + + /** + * Get the list of erros, empty if no errors + * + * @return array List of error string + */ + public function validate(): array + { + return []; + } + + /** + * Get the template, return null if there is no specific template + * + * @return string|NULL + */ + public function getTemplate(): ?string + { + return Null; + } + + /** + * @param FormBuilderInterface $formBuilder + * @param array $data Additional data + */ + protected function addFields(FormBuilderInterface $formBuilder, array $data): void + { + } +} diff --git a/src/Form/Activity/ActivityAddForm.php b/src/Form/Activity/ActivityAddForm.php new file mode 100644 index 0000000..711f018 --- /dev/null +++ b/src/Form/Activity/ActivityAddForm.php @@ -0,0 +1,105 @@ +actors = $data['actors']; + parent::__construct($formBuilder, $data); + } + + /** + * Get the activity entity + * + * @return ActivityEntity|null + */ + public function getActivity(): ?ActivityEntity + { + $data = $this->form->getData(); + $activity = new activityEntity(); + $activity->generateId(); + $activity->setName($data['name']); + $activity->setActor($data['actor']); + $activity->setStatus($data['status']); + $activity->setStartDate($data['startDate']); + $activity->setEndDate($data['endDate']); + $activity->setRealStartDate($data['realStartDate']); + $activity->setRealEndDate($data['realEndDate']); + + return $activity; + } + + /** + * {@inheritdoc} + */ + public function getTemplate(): string + { + return '_includes/html/form/activity/add.html.twig'; + } + + /** + * {@inheritdoc} + */ + protected function addFields($formBuilder, $options): void + { + $formBuilder->add('name', TextType::class) + ->add('actor', EntityType::class, [ + 'class' => ActorEntity::class, + 'choices' => $this->actors, + 'group_by' => function (ActorEntity $choice) { + if ($choice->getFollowed()) { + return 'Suivi'; + } + if ($choice->getActive()) { + return 'Actif'; + } + + return 'Inactif'; + }, + 'choice_label' => 'displayName', + 'required' => false, + ]) + ->add('status', ChoiceType::class, [ + 'choices' => ActivityEntity::VALID_STATUS, + 'choice_label' => function ($choice, $key, $value) { + return StatusEnum::STATUS_NAME[$choice]; + }, + ]) + ->add('startDate', DateType::class, [ + 'required' => false, + 'widget' => 'single_text', + ]) + ->add('endDate', DateType::class, [ + 'required' => false, + 'widget' => 'single_text', + ]) + ->add('realStartDate', DateType::class, [ + 'required' => false, + 'widget' => 'single_text', + ]) + ->add('realEndDate', DateType::class, [ + 'required' => false, + 'widget' => 'single_text', + ]) + ->add('submit', SubmitType::class); + } +} \ No newline at end of file diff --git a/src/Form/Activity/ActivityDeleteForm.php b/src/Form/Activity/ActivityDeleteForm.php new file mode 100644 index 0000000..a5307ad --- /dev/null +++ b/src/Form/Activity/ActivityDeleteForm.php @@ -0,0 +1,40 @@ +form->getData(); + return $activityRepository->find($data['id']); + } + + /** + * {@inheritdoc} + */ + public function getTemplate(): string + { + return '_includes/html/form/activity/delete.html.twig'; + } + + /** + * {@inheritdoc} + */ + protected function addFields($formBuilder, $options): void + { + $formBuilder->add('id', HiddenType::class)->add('submit', SubmitType::class); + } +} \ No newline at end of file diff --git a/src/Form/Activity/ActivityEditForm.php b/src/Form/Activity/ActivityEditForm.php new file mode 100644 index 0000000..494bfbc --- /dev/null +++ b/src/Form/Activity/ActivityEditForm.php @@ -0,0 +1,125 @@ +actors = $data['actors']; + parent::__construct($formBuilder, $data); + } + + /** + * Update fields with entity + * + * @param ActivityEntity $activity + * @return self + */ + public function updateFields(ActivityEntity $activity): self + { + $this->form->setData([ + 'name' => $activity->getName(), + 'actor' => $activity->getActor(), + 'status' => $activity->getStatus(), + 'startDate' => $activity->getStartDate(), + 'endDate' => $activity->getEndDate(), + 'realStartDate' => $activity->getRealStartDate(), + 'realEndDate' => $activity->getRealEndDate(), + ]); + + return $this; + } + + /** + * Update activity with user data + * + * @param ActivityEntity $activity + * @return self + */ + public function updateActivity(ActivityEntity $activity): self + { + $data = $this->form->getData(); + $activity->setName($data['name']); + $activity->setActor($data['actor']); + $activity->setStatus($data['status']); + $activity->setStartDate($data['startDate']); + $activity->setEndDate($data['endDate']); + $activity->setRealStartDate($data['realStartDate']); + $activity->setRealEndDate($data['realEndDate']); + + return $this; + } + + /** + * {@inheritdoc} + */ + public function getTemplate(): string + { + return '_includes/html/form/activity/edit.html.twig'; + } + + /** + * {@inheritdoc} + */ + protected function addFields($formBuilder, $options): void + { + $formBuilder->add('name', TextType::class) + ->add('actor', EntityType::class, [ + 'class' => ActorEntity::class, + 'choices' => $this->actors, + 'group_by' => function (ActorEntity $choice) { + if ($choice->getFollowed()) { + return 'Suivi'; + } + if ($choice->getActive()) { + return 'Actif'; + } + + return 'Inactif'; + }, + 'choice_label' => 'displayName', + 'required' => false, + ]) + ->add('status', ChoiceType::class, [ + 'choices' => ActivityEntity::VALID_STATUS, + 'choice_label' => function ($choice, $key, $value) { + return StatusEnum::STATUS_NAME[$choice]; + }, + ]) + ->add('startDate', DateType::class, [ + 'required' => false, + 'widget' => 'single_text', + ]) + ->add('endDate', DateType::class, [ + 'required' => false, + 'widget' => 'single_text', + ]) + ->add('realStartDate', DateType::class, [ + 'required' => false, + 'widget' => 'single_text', + ]) + ->add('realEndDate', DateType::class, [ + 'required' => false, + 'widget' => 'single_text', + ]) + ->add('submit', SubmitType::class); + } +} \ No newline at end of file diff --git a/src/Form/Actors/ActorAddForm.php b/src/Form/Actors/ActorAddForm.php new file mode 100644 index 0000000..68cf65d --- /dev/null +++ b/src/Form/Actors/ActorAddForm.php @@ -0,0 +1,58 @@ +form->getData(); + $actor = new ActorEntity(); + $actor->generateId(); + $actor->setFirstName($data['firstName']); + $actor->setLastName($data['lastName']); + $actor->setNickname($data['nickname'] ?? ""); + $actor->setFollowed($data['followed']); + + return $actor; + } + + /** + * {@inheritdoc} + */ + public function getTemplate(): string + { + return '_includes/html/form/actors/add.html.twig'; + } + + /** + * {@inheritdoc} + */ + protected function addFields($formBuilder, $options): void + { + $formBuilder->add('firstName', TextType::class, [ + 'required' => true + ]) + ->add('lastName', TextType::class, [ + 'required' => true + ]) + ->add('nickname', TextType::class, [ + 'required' => false + ]) + ->add('followed', CheckboxType::class, [ + 'required' => false + ]) + ->add('submit', SubmitType::class); + } +} \ No newline at end of file diff --git a/src/Form/Actors/ActorDeleteForm.php b/src/Form/Actors/ActorDeleteForm.php new file mode 100644 index 0000000..424558e --- /dev/null +++ b/src/Form/Actors/ActorDeleteForm.php @@ -0,0 +1,40 @@ +form->getData(); + return $actorRepository->find($data['id']); + } + + /** + * {@inheritdoc} + */ + public function getTemplate(): string + { + return '_includes/html/form/actors/delete.html.twig'; + } + + /** + * {@inheritdoc} + */ + protected function addFields($formBuilder, $options): void + { + $formBuilder->add('id', HiddenType::class)->add('submit', SubmitType::class); + } +} \ No newline at end of file diff --git a/src/Form/Actors/ActorEditForm.php b/src/Form/Actors/ActorEditForm.php new file mode 100644 index 0000000..061f36d --- /dev/null +++ b/src/Form/Actors/ActorEditForm.php @@ -0,0 +1,80 @@ +form->setData([ + 'firstName' => $actor->getFirstName(), + 'lastName' => $actor->getLastName(), + 'nickname' => $actor->getNickname(), + 'active' => $actor->getActive(), + 'followed' => $actor->getFollowed(), + ]); + + return $this; + } + + /** + * Update actor with the content + * + * @param ActorEntity $actor + * @return self + */ + public function updateActor(ActorEntity $actor): self + { + $data = $this->form->getData(); + $actor->setFirstName($data['firstName']); + $actor->setLastName($data['lastName']); + $actor->setNickname($data['nickname'] ?? ""); + $actor->setActive($data['active']); + $actor->setFollowed($data['followed']); + + return $this; + } + + /** + * {@inheritdoc} + */ + public function getTemplate(): string + { + return '_includes/html/form/actors/edit.html.twig'; + } + + /** + * {@inheritdoc} + */ + protected function addFields($formBuilder, $options): void + { + $formBuilder->add('firstName', TextType::class, [ + 'required' => true + ]) + ->add('lastName', TextType::class, [ + 'required' => true + ]) + ->add('nickname', TextType::class, [ + 'required' => false + ]) + ->add('active', CheckboxType::class, [ + 'required' => false + ]) + ->add('followed', CheckboxType::class, [ + 'required' => false + ]) + ->add('submit', SubmitType::class); + } +} \ No newline at end of file diff --git a/src/Helper/StringGenerationHelper.php b/src/Helper/StringGenerationHelper.php new file mode 100644 index 0000000..2b7a9cb --- /dev/null +++ b/src/Helper/StringGenerationHelper.php @@ -0,0 +1,26 @@ +import('../config/{packages}/*.yaml'); + $container->import('../config/{packages}/'.$this->environment.'/*.yaml'); + + if (is_file(\dirname(__DIR__).'/config/services.yaml')) { + $container->import('../config/services.yaml'); + $container->import('../config/{services}_'.$this->environment.'.yaml'); + } elseif (is_file($path = \dirname(__DIR__).'/config/services.php')) { + (require $path)($container->withPath($path), $this); + } + } + + protected function configureRoutes(RoutingConfigurator $routes): void + { + $routes->import('../config/{routes}/'.$this->environment.'/*.yaml'); + $routes->import('../config/{routes}/*.yaml'); + + if (is_file(\dirname(__DIR__).'/config/routes.yaml')) { + $routes->import('../config/routes.yaml'); + } elseif (is_file($path = \dirname(__DIR__).'/config/routes.php')) { + (require $path)($routes->withPath($path), $this); + } + } +} diff --git a/src/Repository/.gitignore b/src/Repository/.gitignore new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/src/Repository/.gitignore diff --git a/src/Repository/ActivityRepository.php b/src/Repository/ActivityRepository.php new file mode 100644 index 0000000..f9ca693 --- /dev/null +++ b/src/Repository/ActivityRepository.php @@ -0,0 +1,31 @@ +createQueryBuilder('activity'); + $query->join(ActorEntity::class, 'actor', Join::WITH, 'activity.actor = actor'); + $query->andWhere($query->expr() + ->eq('actor.followed', true)); + $query->andWhere($query->expr()->in('activity.status', StatusEnum::ACTIVE_STATUS)); + + return $query->getQuery()->execute([], Query::HYDRATE_OBJECT); + } +} \ No newline at end of file diff --git a/src/Repository/ActorRepository.php b/src/Repository/ActorRepository.php new file mode 100644 index 0000000..8fea04b --- /dev/null +++ b/src/Repository/ActorRepository.php @@ -0,0 +1,40 @@ + 'desc', + 'active' => 'desc', + 'firstName' => 'asc', + 'lastName' => 'asc' + ]; + + /** + * {@inheritdoc} + */ + public function findAll($onlyActive = false): array + { + $critera = []; + if ($onlyActive) { + $critera['active'] = True; + } + return $this->findBy($critera, ActorRepository::DEFAULT_ORDER); + } + + /** + * {@inheritdoc} + */ + public function find($id, $lockMode = null, $lockVersion = null): ?ActorEntity + { + return parent::find($id, $lockMode = null, $lockVersion = null); + } +} \ No newline at end of file diff --git a/templates/_includes/html/arrays/activity.html.twig b/templates/_includes/html/arrays/activity.html.twig new file mode 100644 index 0000000..ca2778e --- /dev/null +++ b/templates/_includes/html/arrays/activity.html.twig @@ -0,0 +1,46 @@ +{% import '_includes/macros/status.html.twig' as statusTools %} +{% import '_includes/macros/date.html.twig' as dateTools %} +{% set hideActor=hideActor|default(false) %} + + + + + + + {% if not hideActor %} + + {% endif %} + + + + + + + + + {% for activity in activities %} + + + + {% if not hideActor %} + + {% endif %} + + + + + + + + {% endfor %} + +
NomStatusActeurDébut planifiéFin planifiéeDébut réélFin réeleActions
{{ activity.name }}{{ statusTools.statusName(activity.status) }}{% if activity.actor is not null %} {{ activity.actor.displayName }} + {% endif %}{% if activity.startDate is not null %} {{ dateTools.euro(activity.startDate) }} + {% endif %}{% if activity.endDate is not null %} {{ dateTools.euro(activity.endDate) }} + {% endif %}{% if activity.realStartDate is not null %} {{ dateTools.euro(activity.realStartDate) }} + {% endif %}{% if activity.realEndDate is not null %} {{ dateTools.euro(activity.realEndDate) }} + {% endif %}Editer{% if activityDeleteForm is defined %} {% include '_includes/html/genericForm.html.twig' with {'form': activityDeleteForm, 'data': {activity: activity, variant: 'icon'}} only %} + {% endif %}
\ No newline at end of file diff --git a/templates/_includes/html/arrays/actor.html.twig b/templates/_includes/html/arrays/actor.html.twig new file mode 100644 index 0000000..a6483b6 --- /dev/null +++ b/templates/_includes/html/arrays/actor.html.twig @@ -0,0 +1,30 @@ + + + + + + + + + + + + + {% for actor in actors %} + + + + + + + + + + {% endfor %} + +
NomPrénomSurnomSuiviActifActions
{{ actor.firstName }}{{ actor.lastName }}{{ actor.nickname }}{% if actor.followed %}Suivi {% endif %}{% if actor.active %}Actif {% endif %}Editer{% if actorDeleteForm is defined %} {% include '_includes/html/genericForm.html.twig' with {'form': actorDeleteForm, 'data': {actor: actor, variant: 'icon'}} only %} + {% endif %}
\ No newline at end of file diff --git a/templates/_includes/html/base.html.twig b/templates/_includes/html/base.html.twig new file mode 100644 index 0000000..f013ec5 --- /dev/null +++ b/templates/_includes/html/base.html.twig @@ -0,0 +1,62 @@ +{% set styles=[ + 'https://fonts.googleapis.com/css2?family=Kanit', + 'https://fonts.googleapis.com/css2?family=Asap', + 'https://meyerweb.com/eric/tools/css/reset/reset.css', + 'https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css', + baseUrl~'icofont/icofont.css', + baseUrl~'styles/card.css', + baseUrl~'styles/colors.css', + baseUrl~'styles/form.css', + baseUrl~'styles/main.css', + baseUrl~'styles/nav.css', + baseUrl~'styles/table.css', +]|merge(styles|default([])) %} + +{% set scripts=[ + baseUrl~'scripts/ajaxForm.js', +]|merge(scripts|default([])) %} + +{% set page=page|default('N/A') %} +{% set returnPath=returnPath|default([]) %} + + + + + +Activity Manager{% if pageName is defined %} - {{ pageName }}{% endif %} + +{% for style in styles %} + +{% endfor %} +{% for script in scripts %} + +{% endfor %} + + + +
+

+ {% for link in returnPath %} + {{ link.label|default('retour') }} + / + {% endfor %} + {{ page }} +

+
+
+
+ {% block pageContent %} + {% endblock %} +
+
+
+ + \ No newline at end of file diff --git a/templates/_includes/html/component/navLink.html.twig b/templates/_includes/html/component/navLink.html.twig new file mode 100644 index 0000000..feae8d1 --- /dev/null +++ b/templates/_includes/html/component/navLink.html.twig @@ -0,0 +1,11 @@ +{% if route == app.request.attributes.get('_route') %} + +{% else %} + +{% endif %} \ No newline at end of file diff --git a/templates/_includes/html/form/activity/add.html.twig b/templates/_includes/html/form/activity/add.html.twig new file mode 100644 index 0000000..79a8993 --- /dev/null +++ b/templates/_includes/html/form/activity/add.html.twig @@ -0,0 +1,44 @@ +{% import '_includes/macros/status.html.twig' as statusTools %} + +{{ form_start(form, {attr: {class: 'ajax-form'}}) }} +
+
+
+ {{ form_label(form.name, 'Nom', {label_attr: {class: 'input-text-label'}}) }} + {{ form_widget(form.name, {attr: {class: 'w-100'}}) }} +
+
+ {{ form_label(form.status, 'Status', {label_attr: {class: 'input-text-label'}}) }} + {{ form_widget(form.status, {attr: {class: 'w-100'}}) }} +
+
+ {{ form_label(form.actor, 'Acteur', {label_attr: {class: 'input-text-label'}}) }} + {{ form_widget(form.actor, {attr: {class: 'w-100'}}) }} +
+ +
+
+
+ {{ form_label(form.startDate, 'Début planifié', {label_attr: {class: 'input-text-label'}}) }} + {{ form_widget(form.startDate, {attr: {class: 'w-100'}}) }} +
+
+ {{ form_label(form.endDate, 'Début réel', {label_attr: {class: 'input-text-label'}}) }} + {{ form_widget(form.endDate, {attr: {class: 'w-100'}}) }} +
+
+
+
+ {{ form_label(form.realStartDate, 'Fin planifié', {label_attr: {class: 'input-text-label'}}) }} + {{ form_widget(form.realStartDate, {attr: {class: 'w-100'}}) }} +
+
+ {{ form_label(form.realEndDate, 'Fin réelle', {label_attr: {class: 'input-text-label'}}) }} + {{ form_widget(form.realEndDate, {attr: {class: 'w-100'}}) }} +
+
+
+{{ form_widget(form.submit, {attr: {class: 'w-100'}, label: 'Nouvelle activité'}) }} +

+

+{{ form_end(form) }} \ No newline at end of file diff --git a/templates/_includes/html/form/activity/delete.html.twig b/templates/_includes/html/form/activity/delete.html.twig new file mode 100644 index 0000000..ecd328f --- /dev/null +++ b/templates/_includes/html/form/activity/delete.html.twig @@ -0,0 +1,15 @@ +{{ form_start(form, {attr: {class: 'ajax-form', 'data-form-confirmation': "Voulez-vous supprimer l'activité "~data.activity.name~" ?"}}) }} +{{ form_widget(form.id, {value: data.activity.id}) }} +{% if data.variant|default('icon') == 'icon' %} +{{ form_widget(form.submit, { + label: 'Supprimer', + label_html: true, + attr: { + class: 'icon-button', + title: 'Supprimer l\'activié', + } +})}} +{% elseif data.variant == 'full' %} +{{ form_widget(form.submit, {label: 'Supprimer l\'activité', attr: {class: "w-100"}})}} +{% endif %} +{{ form_end(form) }} \ No newline at end of file diff --git a/templates/_includes/html/form/activity/edit.html.twig b/templates/_includes/html/form/activity/edit.html.twig new file mode 100644 index 0000000..420c365 --- /dev/null +++ b/templates/_includes/html/form/activity/edit.html.twig @@ -0,0 +1,44 @@ +{% import '_includes/macros/status.html.twig' as statusTools %} + +{{ form_start(form, {attr: {class: 'ajax-form'}}) }} +
+
+
+ {{ form_label(form.name, 'Nom', {label_attr: {class: 'input-text-label'}}) }} + {{ form_widget(form.name, {attr: {class: 'w-100'}}) }} +
+
+ {{ form_label(form.status, 'Status', {label_attr: {class: 'input-text-label'}}) }} + {{ form_widget(form.status, {attr: {class: 'w-100'}}) }} +
+
+ {{ form_label(form.actor, 'Acteur', {label_attr: {class: 'input-text-label'}}) }} + {{ form_widget(form.actor, {attr: {class: 'w-100'}}) }} +
+ +
+
+
+ {{ form_label(form.startDate, 'Début planifié', {label_attr: {class: 'input-text-label'}}) }} + {{ form_widget(form.startDate, {attr: {class: 'w-100'}}) }} +
+
+ {{ form_label(form.endDate, 'Début réel', {label_attr: {class: 'input-text-label'}}) }} + {{ form_widget(form.endDate, {attr: {class: 'w-100'}}) }} +
+
+
+
+ {{ form_label(form.realStartDate, 'Fin planifié', {label_attr: {class: 'input-text-label'}}) }} + {{ form_widget(form.realStartDate, {attr: {class: 'w-100'}}) }} +
+
+ {{ form_label(form.realEndDate, 'Fin réelle', {label_attr: {class: 'input-text-label'}}) }} + {{ form_widget(form.realEndDate, {attr: {class: 'w-100'}}) }} +
+
+
+{{ form_widget(form.submit, {attr: {class: 'w-100'}, label: 'Enregistrer'}) }} +

+

+{{ form_end(form) }} \ No newline at end of file diff --git a/templates/_includes/html/form/actors/add.html.twig b/templates/_includes/html/form/actors/add.html.twig new file mode 100644 index 0000000..ac2ca6c --- /dev/null +++ b/templates/_includes/html/form/actors/add.html.twig @@ -0,0 +1,21 @@ +{{ form_start(form, {attr: {class: 'ajax-form'}}) }} +
+ {{ form_label(form.firstName, 'Prénom', {label_attr: {class: 'input-text-label'}}) }} + {{ form_widget(form.firstName, {attr: {class: 'w-100'}}) }} +
+
+ {{ form_label(form.lastName, 'Nom', {label_attr: {class: 'input-text-label'}}) }} + {{ form_widget(form.lastName, {attr: {class: 'w-100'}}) }} +
+
+ {{ form_label(form.nickname, 'Surnom', {label_attr: {class: 'input-text-label'}}) }} + {{ form_widget(form.nickname, {attr: {class: 'w-100', title: 'Le nom tel qu\'il sera affiché.\nS\'il n\'est pas définit, il sera sous la form Prénom NOM.'}}) }} +
+
+ {{ form_widget(form.followed) }} + {{ form_label(form.followed, 'Suivi') }} +
+{{ form_widget(form.submit, {attr: {class: 'w-100'}, label: 'Nouvel acteur'}) }} +

+

+{{ form_end(form) }} \ No newline at end of file diff --git a/templates/_includes/html/form/actors/delete.html.twig b/templates/_includes/html/form/actors/delete.html.twig new file mode 100644 index 0000000..08348a7 --- /dev/null +++ b/templates/_includes/html/form/actors/delete.html.twig @@ -0,0 +1,15 @@ +{{ form_start(form, {attr: {class: 'ajax-form', 'data-form-confirmation': "Voulez-vous supprimer l'acteur "~data.actor.displayName~" ?\nCette action ne supprimera pas les activités et actions qui lui sont attribués."}}) }} +{{ form_widget(form.id, {value: data.actor.id}) }} +{% if data.variant|default('icon') == 'icon' %} +{{ form_widget(form.submit, { + label: 'Supprimer', + label_html: true, + attr: { + class: 'icon-button', + title: 'Supprimer l\'acteur', + } +})}} +{% elseif data.variant == 'full' %} +{{ form_widget(form.submit, {label: 'Supprimer l\'acteur', attr: {class: "w-100"}})}} +{% endif %} +{{ form_end(form) }} \ No newline at end of file diff --git a/templates/_includes/html/form/actors/edit.html.twig b/templates/_includes/html/form/actors/edit.html.twig new file mode 100644 index 0000000..e886c7f --- /dev/null +++ b/templates/_includes/html/form/actors/edit.html.twig @@ -0,0 +1,25 @@ +{{ form_start(form, {attr: {class: 'ajax-form'}}) }} +
+ {{ form_label(form.firstName, 'Prénom', {label_attr: {class: 'input-text-label'}}) }} + {{ form_widget(form.firstName, {attr: {class: 'w-100'}}) }} +
+
+ {{ form_label(form.lastName, 'Nom', {label_attr: {class: 'input-text-label'}}) }} + {{ form_widget(form.lastName, {attr: {class: 'w-100'}}) }} +
+
+ {{ form_label(form.nickname, 'Surnom', {label_attr: {class: 'input-text-label'}}) }} + {{ form_widget(form.nickname, {attr: {class: 'w-100', title: 'Le nom tel qu\'il sera affiché.\nS\'il n\'est pas définit, il sera sous la form Prénom NOM.'}}) }} +
+
+ {{ form_widget(form.active) }} + {{ form_label(form.active, 'Actif') }} +
+
+ {{ form_widget(form.followed) }} + {{ form_label(form.followed, 'Suivi') }} +
+{{ form_widget(form.submit, {attr: {class: 'w-100'}, label: 'Enregistrer'}) }} +

+

+{{ form_end(form) }} \ No newline at end of file diff --git a/templates/_includes/html/genericForm.html.twig b/templates/_includes/html/genericForm.html.twig new file mode 100644 index 0000000..fa0800e --- /dev/null +++ b/templates/_includes/html/genericForm.html.twig @@ -0,0 +1,6 @@ +{% if form.template is null %} +{{ form_start(form.formView) }} +{{ form_end(form.formView) }} +{% else %} +{% include form.template with {'form': form.formView, 'data': data|default([])} only %} +{% endif %} \ No newline at end of file diff --git a/templates/_includes/macros/date.html.twig b/templates/_includes/macros/date.html.twig new file mode 100644 index 0000000..c868a58 --- /dev/null +++ b/templates/_includes/macros/date.html.twig @@ -0,0 +1,11 @@ +{% macro iso(date) %} +{{ date|date('Y-m-d') }} +{% endmacro %} + +{% macro euro(date) %} +{{ date|date('d/m/Y') }} +{% endmacro %} + +{% macro full(date) %} +{{ date|date('j F Y') }} +{% endmacro %} \ No newline at end of file diff --git a/templates/_includes/macros/status.html.twig b/templates/_includes/macros/status.html.twig new file mode 100644 index 0000000..31d400e --- /dev/null +++ b/templates/_includes/macros/status.html.twig @@ -0,0 +1,3 @@ +{% macro statusName(statusId) %} +{{ constant('App\\Enum\\StatusEnum::STATUS_NAME')[statusId] }} +{% endmacro %} \ No newline at end of file diff --git a/templates/activity/activities.html.twig b/templates/activity/activities.html.twig new file mode 100644 index 0000000..d40eadf --- /dev/null +++ b/templates/activity/activities.html.twig @@ -0,0 +1,27 @@ +{% extends '_includes/html/base.html.twig' %} + +{% set pageName='Activités' %} +{% set page='Activités' %} + +{% block pageContent %} +
+
+
+

Activités

+
+
+ {% include "_includes/html/arrays/activity.html.twig" with {activities: activities, activityDeleteForm: activityDeleteForm} only %} +
+
+
+
+
+
+

Nouvelle activité

+
+
+ {% include '_includes/html/genericForm.html.twig' with {form: activityAddForm} only %} +
+
+
+{% endblock %} \ No newline at end of file diff --git a/templates/activity/activity.html.twig b/templates/activity/activity.html.twig new file mode 100644 index 0000000..d033013 --- /dev/null +++ b/templates/activity/activity.html.twig @@ -0,0 +1,18 @@ +{% extends '_includes/html/base.html.twig' %} + +{% set pageName='Activités - '~activity.name %} +{% set page=activity.name %} +{% set returnPath=[{label: 'Activités', url: url('activity_activities', {}, false), title: 'Liste des activités'}] %} + +{% block pageContent %} +
+
+
+

Editer

+
+
+ {% include '_includes/html/genericForm.html.twig' with {form: activityEditForm} only %} +
+
+
+{% endblock %} \ No newline at end of file diff --git a/templates/actor/actor.html.twig b/templates/actor/actor.html.twig new file mode 100644 index 0000000..746abd7 --- /dev/null +++ b/templates/actor/actor.html.twig @@ -0,0 +1,38 @@ +{% extends '_includes/html/base.html.twig' %} + +{% set pageName='Acteurs - '~actor.displayName %} +{% set page=actor.displayName %} +{% set returnPath=[{label: 'Acteurs', url: url('actor_actors', {}, false), title: 'Liste des acteurs'}] %} + +{% block pageContent %} +
+
+
+

Editer

+
+
+ {% include '_includes/html/genericForm.html.twig' with {'form': editForm} only %} +
+
+
+
+
+
+

Supprimer l'acteur

+
+
+ {% include '_includes/html/genericForm.html.twig' with {'form': deleteForm, 'data': {actor: actor, variant: 'full'}} only %} +
+
+
+
+
+
+

Activités en cours

+
+
+ {% include "_includes/html/arrays/activity.html.twig" with {activities: activities, hideActor: true} only %} +
+
+
+{% endblock %} \ No newline at end of file diff --git a/templates/actor/actors.html.twig b/templates/actor/actors.html.twig new file mode 100644 index 0000000..518cf6c --- /dev/null +++ b/templates/actor/actors.html.twig @@ -0,0 +1,27 @@ +{% extends '_includes/html/base.html.twig' %} + +{% set pageName='Acteurs' %} +{% set page='Acteurs' %} + +{% block pageContent %} +
+
+
+

Acteurs

+
+
+ {% include "_includes/html/arrays/actor.html.twig" with {actors: actors, actorDeleteForm: actorDeleteForm} only %} +
+
+
+
+
+
+

Ajouter un acteur

+
+
+ {% include '_includes/html/genericForm.html.twig' with {form: actorAddForm} only %} +
+
+
+{% endblock %} \ No newline at end of file diff --git a/templates/home.html.twig b/templates/home.html.twig new file mode 100644 index 0000000..c331797 --- /dev/null +++ b/templates/home.html.twig @@ -0,0 +1,16 @@ +{% extends '_includes/html/base.html.twig' %} + +{% set page="Accueil" %} + +{% block pageContent %} +
+
+
+

Activités suivies en cours

+
+
+ {% include "_includes/html/arrays/activity.html.twig" with {activities: activities} only %} +
+
+
+{% endblock %} \ No newline at end of file diff --git a/tests/bootstrap.php b/tests/bootstrap.php new file mode 100644 index 0000000..469dcce --- /dev/null +++ b/tests/bootstrap.php @@ -0,0 +1,11 @@ +bootEnv(dirname(__DIR__).'/.env'); +} diff --git a/update.bat b/update.bat new file mode 100644 index 0000000..efb7670 --- /dev/null +++ b/update.bat @@ -0,0 +1,5 @@ +git pull +php composer.phar update +php bin/console doctrine:migrations:diff -n +php bin/console doctrine:migrations:migrate -n +pause \ No newline at end of file