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
+
+
+
+
+
+
+
+
+
\ 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) %}
+
+
+
+
+ Nom
+ Status
+ {% if not hideActor %}
+ Acteur
+ {% endif %}
+ Début planifié
+ Fin planifiée
+ Début réél
+ Fin réele
+ Actions
+
+
+
+ {% for activity in activities %}
+
+ {{ activity.name }}
+ {{ statusTools.statusName(activity.status) }}
+ {% if not hideActor %}
+ {% if activity.actor is not null %} {{ activity.actor.displayName }}
+ {% endif %}
+ {% 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 %}
+
+ {% endfor %}
+
+
\ 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 @@
+
+
+
+ Nom
+ Prénom
+ Surnom
+ Suivi
+ Actif
+ Actions
+
+
+
+ {% for actor in actors %}
+
+ {{ 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 %}
+
+ {% endfor %}
+
+
\ 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 %}
+
+
+
+ Accueil
+ {% include '_includes/html/component/navLink.html.twig' with {route: 'main_home', icon: 'icofont-home', name: 'Accueil'} %}
+ Activités
+ {% include '_includes/html/component/navLink.html.twig' with {route: 'activity_activities', icon: 'icofont-listing-box', name: 'Activités'} %}
+ Environement
+ {% include '_includes/html/component/navLink.html.twig' with {route: 'actor_actors', icon: 'icofont-people', name: 'Acteurs'} %}
+
+
+
+
+
+ {% 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 %}
+
+
+
+
+ {% include "_includes/html/arrays/activity.html.twig" with {activities: activities, activityDeleteForm: activityDeleteForm} only %}
+
+
+
+
+
+
+
+ {% 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 %}
+
+
+
+
+ {% 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 %}
+
+
+
+
+ {% include '_includes/html/genericForm.html.twig' with {'form': editForm} only %}
+
+
+
+
+
+
+
+ {% include '_includes/html/genericForm.html.twig' with {'form': deleteForm, 'data': {actor: actor, variant: 'full'}} only %}
+
+
+
+
+
+
+
+ {% 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 %}
+
+
+
+
+ {% include "_includes/html/arrays/actor.html.twig" with {actors: actors, actorDeleteForm: actorDeleteForm} only %}
+
+
+
+
+
+
+
+ {% 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 %}
+
+
+
+
+ {% 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