diff --git a/composer.lock b/composer.lock
index ce1586a6b1d182507e5b9e8c82cd418fe8c19826..529515edf1cea6afeceb8449a6240383bd9d5a54 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
         "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
         "This file is @generated automatically"
     ],
-    "content-hash": "62411bfecca962974f1d45e84a4e66f4",
+    "content-hash": "83c37b3e20a43996d81b885e3e5e498c",
     "packages": [
         {
             "name": "alchemy/zippy",
@@ -132,6 +132,42 @@
             },
             "type": "drupal-library"
         },
+        {
+            "name": "brumann/polyfill-unserialize",
+            "version": "v1.0.3",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/dbrumann/polyfill-unserialize.git",
+                "reference": "844d7e44b62a1a3d5c68cfb7ebbd59c17ea0fd7b"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/dbrumann/polyfill-unserialize/zipball/844d7e44b62a1a3d5c68cfb7ebbd59c17ea0fd7b",
+                "reference": "844d7e44b62a1a3d5c68cfb7ebbd59c17ea0fd7b",
+                "shasum": ""
+            },
+            "require": {
+                "php": "^5.3|^7.0"
+            },
+            "type": "library",
+            "autoload": {
+                "psr-4": {
+                    "Brumann\\Polyfill\\": "src/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Denis Brumann",
+                    "email": "denis.brumann@sensiolabs.de"
+                }
+            ],
+            "description": "Backports unserialize options introduced in PHP 7.0 to older PHP versions.",
+            "time": "2017-02-03T09:55:47+00:00"
+        },
         {
             "name": "ckeditor/indentblock",
             "version": "4.8.0",
@@ -3716,7 +3752,9 @@
                         "message": "Beta releases are not covered by Drupal security advisories."
                     }
                 },
-                "patches_applied": []
+                "patches_applied": {
+                    "2881745": "patches/entity_embed_2881745-22.patch"
+                }
             },
             "notification-url": "https://packages.drupal.org/8/downloads",
             "license": [
@@ -5157,7 +5195,8 @@
             "homepage": "https://www.drupal.org/project/migrate_devel",
             "support": {
                 "source": "http://cgit.drupalcode.org/migrate_devel"
-            }
+            },
+            "time": "2017-06-25T23:46:13+00:00"
         },
         {
             "name": "drupal/migrate_plus",
@@ -9026,7 +9065,7 @@
         },
         {
             "name": "symfony/class-loader",
-            "version": "v3.4.23",
+            "version": "v3.4.26",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/class-loader.git",
@@ -9146,16 +9185,16 @@
         },
         {
             "name": "symfony/console",
-            "version": "v3.4.23",
+            "version": "v3.4.26",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/console.git",
-                "reference": "71ce77f37af0c5ffb9590e43cc4f70e426945c5e"
+                "reference": "15a9104356436cb26e08adab97706654799d31d8"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/console/zipball/71ce77f37af0c5ffb9590e43cc4f70e426945c5e",
-                "reference": "71ce77f37af0c5ffb9590e43cc4f70e426945c5e",
+                "url": "https://api.github.com/repos/symfony/console/zipball/15a9104356436cb26e08adab97706654799d31d8",
+                "reference": "15a9104356436cb26e08adab97706654799d31d8",
                 "shasum": ""
             },
             "require": {
@@ -9214,7 +9253,7 @@
             ],
             "description": "Symfony Console Component",
             "homepage": "https://symfony.com",
-            "time": "2019-02-23T15:06:07+00:00"
+            "time": "2019-04-08T09:29:13+00:00"
         },
         {
             "name": "symfony/css-selector",
@@ -9271,16 +9310,16 @@
         },
         {
             "name": "symfony/debug",
-            "version": "v3.4.23",
+            "version": "v3.4.26",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/debug.git",
-                "reference": "8d8a9e877b3fcdc50ddecf8dcea146059753f782"
+                "reference": "681afbb26488903c5ac15e63734f1d8ac430c9b9"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/debug/zipball/8d8a9e877b3fcdc50ddecf8dcea146059753f782",
-                "reference": "8d8a9e877b3fcdc50ddecf8dcea146059753f782",
+                "url": "https://api.github.com/repos/symfony/debug/zipball/681afbb26488903c5ac15e63734f1d8ac430c9b9",
+                "reference": "681afbb26488903c5ac15e63734f1d8ac430c9b9",
                 "shasum": ""
             },
             "require": {
@@ -9323,20 +9362,20 @@
             ],
             "description": "Symfony Debug Component",
             "homepage": "https://symfony.com",
-            "time": "2019-02-24T15:45:11+00:00"
+            "time": "2019-04-11T09:48:14+00:00"
         },
         {
             "name": "symfony/dependency-injection",
-            "version": "v3.4.23",
+            "version": "v3.4.26",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/dependency-injection.git",
-                "reference": "c3dd7b7ea8cd8ec12304a5e222d7dc01cac8fa11"
+                "reference": "dee85a9148399cdb2731603802842bcfd8afe5ab"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/c3dd7b7ea8cd8ec12304a5e222d7dc01cac8fa11",
-                "reference": "c3dd7b7ea8cd8ec12304a5e222d7dc01cac8fa11",
+                "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/dee85a9148399cdb2731603802842bcfd8afe5ab",
+                "reference": "dee85a9148399cdb2731603802842bcfd8afe5ab",
                 "shasum": ""
             },
             "require": {
@@ -9394,7 +9433,7 @@
             ],
             "description": "Symfony DependencyInjection Component",
             "homepage": "https://symfony.com",
-            "time": "2019-02-23T15:06:07+00:00"
+            "time": "2019-04-16T11:13:42+00:00"
         },
         {
             "name": "symfony/dom-crawler",
@@ -9455,16 +9494,16 @@
         },
         {
             "name": "symfony/event-dispatcher",
-            "version": "v3.4.23",
+            "version": "v3.4.26",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/event-dispatcher.git",
-                "reference": "ec625e2fff7f584eeb91754821807317b2e79236"
+                "reference": "a088aafcefb4eef2520a290ed82e4374092a6dff"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/ec625e2fff7f584eeb91754821807317b2e79236",
-                "reference": "ec625e2fff7f584eeb91754821807317b2e79236",
+                "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/a088aafcefb4eef2520a290ed82e4374092a6dff",
+                "reference": "a088aafcefb4eef2520a290ed82e4374092a6dff",
                 "shasum": ""
             },
             "require": {
@@ -9514,7 +9553,7 @@
             ],
             "description": "Symfony EventDispatcher Component",
             "homepage": "https://symfony.com",
-            "time": "2019-02-23T15:06:07+00:00"
+            "time": "2019-04-02T08:51:52+00:00"
         },
         {
             "name": "symfony/filesystem",
@@ -9617,16 +9656,16 @@
         },
         {
             "name": "symfony/http-foundation",
-            "version": "v3.4.23",
+            "version": "v3.4.26",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/http-foundation.git",
-                "reference": "9a96d77ceb1fd913c9d4a89e8a7e1be87604be8a"
+                "reference": "90454ad44c95d75faf3507d56388056001b74baf"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/http-foundation/zipball/9a96d77ceb1fd913c9d4a89e8a7e1be87604be8a",
-                "reference": "9a96d77ceb1fd913c9d4a89e8a7e1be87604be8a",
+                "url": "https://api.github.com/repos/symfony/http-foundation/zipball/90454ad44c95d75faf3507d56388056001b74baf",
+                "reference": "90454ad44c95d75faf3507d56388056001b74baf",
                 "shasum": ""
             },
             "require": {
@@ -9667,20 +9706,20 @@
             ],
             "description": "Symfony HttpFoundation Component",
             "homepage": "https://symfony.com",
-            "time": "2019-02-23T15:06:07+00:00"
+            "time": "2019-04-17T14:51:18+00:00"
         },
         {
             "name": "symfony/http-kernel",
-            "version": "v3.4.23",
+            "version": "v3.4.26",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/http-kernel.git",
-                "reference": "0362368c761cb8d9c79e56ab0db61d2c692db594"
+                "reference": "14fa41ccd38570b5e3120a3754bbaa144a15f311"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/http-kernel/zipball/0362368c761cb8d9c79e56ab0db61d2c692db594",
-                "reference": "0362368c761cb8d9c79e56ab0db61d2c692db594",
+                "url": "https://api.github.com/repos/symfony/http-kernel/zipball/14fa41ccd38570b5e3120a3754bbaa144a15f311",
+                "reference": "14fa41ccd38570b5e3120a3754bbaa144a15f311",
                 "shasum": ""
             },
             "require": {
@@ -9756,20 +9795,20 @@
             ],
             "description": "Symfony HttpKernel Component",
             "homepage": "https://symfony.com",
-            "time": "2019-03-03T18:52:34+00:00"
+            "time": "2019-04-17T15:57:07+00:00"
         },
         {
             "name": "symfony/polyfill-ctype",
-            "version": "v1.10.0",
+            "version": "v1.11.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/polyfill-ctype.git",
-                "reference": "e3d826245268269cd66f8326bd8bc066687b4a19"
+                "reference": "82ebae02209c21113908c229e9883c419720738a"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/e3d826245268269cd66f8326bd8bc066687b4a19",
-                "reference": "e3d826245268269cd66f8326bd8bc066687b4a19",
+                "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/82ebae02209c21113908c229e9883c419720738a",
+                "reference": "82ebae02209c21113908c229e9883c419720738a",
                 "shasum": ""
             },
             "require": {
@@ -9781,7 +9820,7 @@
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "1.9-dev"
+                    "dev-master": "1.11-dev"
                 }
             },
             "autoload": {
@@ -9814,20 +9853,20 @@
                 "polyfill",
                 "portable"
             ],
-            "time": "2018-08-06T14:22:27+00:00"
+            "time": "2019-02-06T07:57:58+00:00"
         },
         {
             "name": "symfony/polyfill-iconv",
-            "version": "v1.10.0",
+            "version": "v1.11.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/polyfill-iconv.git",
-                "reference": "97001cfc283484c9691769f51cdf25259037eba2"
+                "reference": "f037ea22acfaee983e271dd9c3b8bb4150bd8ad7"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/97001cfc283484c9691769f51cdf25259037eba2",
-                "reference": "97001cfc283484c9691769f51cdf25259037eba2",
+                "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/f037ea22acfaee983e271dd9c3b8bb4150bd8ad7",
+                "reference": "f037ea22acfaee983e271dd9c3b8bb4150bd8ad7",
                 "shasum": ""
             },
             "require": {
@@ -9839,7 +9878,7 @@
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "1.9-dev"
+                    "dev-master": "1.11-dev"
                 }
             },
             "autoload": {
@@ -9873,20 +9912,20 @@
                 "portable",
                 "shim"
             ],
-            "time": "2018-09-21T06:26:08+00:00"
+            "time": "2019-02-06T07:57:58+00:00"
         },
         {
             "name": "symfony/polyfill-mbstring",
-            "version": "v1.10.0",
+            "version": "v1.11.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/polyfill-mbstring.git",
-                "reference": "c79c051f5b3a46be09205c73b80b346e4153e494"
+                "reference": "fe5e94c604826c35a32fa832f35bd036b6799609"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/c79c051f5b3a46be09205c73b80b346e4153e494",
-                "reference": "c79c051f5b3a46be09205c73b80b346e4153e494",
+                "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fe5e94c604826c35a32fa832f35bd036b6799609",
+                "reference": "fe5e94c604826c35a32fa832f35bd036b6799609",
                 "shasum": ""
             },
             "require": {
@@ -9898,7 +9937,7 @@
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "1.9-dev"
+                    "dev-master": "1.11-dev"
                 }
             },
             "autoload": {
@@ -9932,20 +9971,20 @@
                 "portable",
                 "shim"
             ],
-            "time": "2018-09-21T13:07:52+00:00"
+            "time": "2019-02-06T07:57:58+00:00"
         },
         {
             "name": "symfony/polyfill-php70",
-            "version": "v1.10.0",
+            "version": "v1.11.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/polyfill-php70.git",
-                "reference": "6b88000cdd431cd2e940caa2cb569201f3f84224"
+                "reference": "bc4858fb611bda58719124ca079baff854149c89"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/6b88000cdd431cd2e940caa2cb569201f3f84224",
-                "reference": "6b88000cdd431cd2e940caa2cb569201f3f84224",
+                "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/bc4858fb611bda58719124ca079baff854149c89",
+                "reference": "bc4858fb611bda58719124ca079baff854149c89",
                 "shasum": ""
             },
             "require": {
@@ -9955,7 +9994,7 @@
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "1.9-dev"
+                    "dev-master": "1.11-dev"
                 }
             },
             "autoload": {
@@ -9991,20 +10030,20 @@
                 "portable",
                 "shim"
             ],
-            "time": "2018-09-21T06:26:08+00:00"
+            "time": "2019-02-06T07:57:58+00:00"
         },
         {
             "name": "symfony/process",
-            "version": "v3.4.23",
+            "version": "v3.4.26",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/process.git",
-                "reference": "009f8dda80930e89e8344a4e310b08f9ff07dd2e"
+                "reference": "a9c4dfbf653023b668c282e4e02609d131f4057a"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/process/zipball/009f8dda80930e89e8344a4e310b08f9ff07dd2e",
-                "reference": "009f8dda80930e89e8344a4e310b08f9ff07dd2e",
+                "url": "https://api.github.com/repos/symfony/process/zipball/a9c4dfbf653023b668c282e4e02609d131f4057a",
+                "reference": "a9c4dfbf653023b668c282e4e02609d131f4057a",
                 "shasum": ""
             },
             "require": {
@@ -10040,20 +10079,20 @@
             ],
             "description": "Symfony Process Component",
             "homepage": "https://symfony.com",
-            "time": "2019-01-16T13:27:11+00:00"
+            "time": "2019-04-08T16:15:54+00:00"
         },
         {
             "name": "symfony/psr-http-message-bridge",
-            "version": "v1.1.1",
+            "version": "v1.1.2",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/psr-http-message-bridge.git",
-                "reference": "921f8669c36ea0148d2520c0bb7838cda14879e0"
+                "reference": "a33352af16f78a5ff4f9d90811536abf210df12b"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/921f8669c36ea0148d2520c0bb7838cda14879e0",
-                "reference": "921f8669c36ea0148d2520c0bb7838cda14879e0",
+                "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/a33352af16f78a5ff4f9d90811536abf210df12b",
+                "reference": "a33352af16f78a5ff4f9d90811536abf210df12b",
                 "shasum": ""
             },
             "require": {
@@ -10062,7 +10101,6 @@
                 "symfony/http-foundation": "^2.3.42 || ^3.4 || ^4.0"
             },
             "require-dev": {
-                "nyholm/psr7": "^1.1",
                 "symfony/phpunit-bridge": "^3.4 || ^4.0"
             },
             "suggest": {
@@ -10104,20 +10142,20 @@
                 "psr-17",
                 "psr-7"
             ],
-            "time": "2019-03-11T15:23:15+00:00"
+            "time": "2019-04-03T17:09:40+00:00"
         },
         {
             "name": "symfony/routing",
-            "version": "v3.4.23",
+            "version": "v3.4.26",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/routing.git",
-                "reference": "6b25a86df5860461ff1990946168c0ef944f83db"
+                "reference": "ff11aac46d6cb8a65f2855687bb9a1ac9d860eec"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/routing/zipball/6b25a86df5860461ff1990946168c0ef944f83db",
-                "reference": "6b25a86df5860461ff1990946168c0ef944f83db",
+                "url": "https://api.github.com/repos/symfony/routing/zipball/ff11aac46d6cb8a65f2855687bb9a1ac9d860eec",
+                "reference": "ff11aac46d6cb8a65f2855687bb9a1ac9d860eec",
                 "shasum": ""
             },
             "require": {
@@ -10140,7 +10178,6 @@
             "suggest": {
                 "doctrine/annotations": "For using the annotation loader",
                 "symfony/config": "For using the all-in-one router or any loader",
-                "symfony/dependency-injection": "For loading routes from a service",
                 "symfony/expression-language": "For using expression matching",
                 "symfony/http-foundation": "For using a Symfony Request object",
                 "symfony/yaml": "For using the YAML loader"
@@ -10181,20 +10218,20 @@
                 "uri",
                 "url"
             ],
-            "time": "2019-02-23T15:06:07+00:00"
+            "time": "2019-03-29T21:58:42+00:00"
         },
         {
             "name": "symfony/serializer",
-            "version": "v3.4.23",
+            "version": "v3.4.26",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/serializer.git",
-                "reference": "964b7a59002391136fb0087fd5dc41213f7c283e"
+                "reference": "14b3221cc41dcfef404205f0060cda873f43a534"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/serializer/zipball/964b7a59002391136fb0087fd5dc41213f7c283e",
-                "reference": "964b7a59002391136fb0087fd5dc41213f7c283e",
+                "url": "https://api.github.com/repos/symfony/serializer/zipball/14b3221cc41dcfef404205f0060cda873f43a534",
+                "reference": "14b3221cc41dcfef404205f0060cda873f43a534",
                 "shasum": ""
             },
             "require": {
@@ -10260,20 +10297,20 @@
             ],
             "description": "Symfony Serializer Component",
             "homepage": "https://symfony.com",
-            "time": "2019-02-23T15:06:07+00:00"
+            "time": "2019-04-11T05:44:34+00:00"
         },
         {
             "name": "symfony/translation",
-            "version": "v3.4.23",
+            "version": "v3.4.26",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/translation.git",
-                "reference": "3e2966209567ffed8825905b53fc8548446130aa"
+                "reference": "aae26f143da71adc8707eb489f1dc86aef7d376b"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/translation/zipball/3e2966209567ffed8825905b53fc8548446130aa",
-                "reference": "3e2966209567ffed8825905b53fc8548446130aa",
+                "url": "https://api.github.com/repos/symfony/translation/zipball/aae26f143da71adc8707eb489f1dc86aef7d376b",
+                "reference": "aae26f143da71adc8707eb489f1dc86aef7d376b",
                 "shasum": ""
             },
             "require": {
@@ -10290,7 +10327,9 @@
                 "symfony/config": "~2.8|~3.0|~4.0",
                 "symfony/dependency-injection": "~3.4|~4.0",
                 "symfony/finder": "~2.8|~3.0|~4.0",
+                "symfony/http-kernel": "~3.4|~4.0",
                 "symfony/intl": "^2.8.18|^3.2.5|~4.0",
+                "symfony/var-dumper": "~3.4|~4.0",
                 "symfony/yaml": "~3.4|~4.0"
             },
             "suggest": {
@@ -10328,20 +10367,20 @@
             ],
             "description": "Symfony Translation Component",
             "homepage": "https://symfony.com",
-            "time": "2019-02-23T15:06:07+00:00"
+            "time": "2019-04-10T16:00:48+00:00"
         },
         {
             "name": "symfony/validator",
-            "version": "v3.4.23",
+            "version": "v3.4.26",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/validator.git",
-                "reference": "21f8a7da6d4d8e6e34bd4e2bfaa24fa373886907"
+                "reference": "83da5259779aaf9dde220130e62b785f74e2ac49"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/validator/zipball/21f8a7da6d4d8e6e34bd4e2bfaa24fa373886907",
-                "reference": "21f8a7da6d4d8e6e34bd4e2bfaa24fa373886907",
+                "url": "https://api.github.com/repos/symfony/validator/zipball/83da5259779aaf9dde220130e62b785f74e2ac49",
+                "reference": "83da5259779aaf9dde220130e62b785f74e2ac49",
                 "shasum": ""
             },
             "require": {
@@ -10413,7 +10452,7 @@
             ],
             "description": "Symfony Validator Component",
             "homepage": "https://symfony.com",
-            "time": "2019-02-25T09:32:21+00:00"
+            "time": "2019-04-16T11:21:44+00:00"
         },
         {
             "name": "symfony/var-dumper",
@@ -10486,16 +10525,16 @@
         },
         {
             "name": "symfony/yaml",
-            "version": "v3.4.23",
+            "version": "v3.4.26",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/yaml.git",
-                "reference": "57f1ce82c997f5a8701b89ef970e36bb657fd09c"
+                "reference": "212a27b731e5bfb735679d1ffaac82bd6a1dc996"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/yaml/zipball/57f1ce82c997f5a8701b89ef970e36bb657fd09c",
-                "reference": "57f1ce82c997f5a8701b89ef970e36bb657fd09c",
+                "url": "https://api.github.com/repos/symfony/yaml/zipball/212a27b731e5bfb735679d1ffaac82bd6a1dc996",
+                "reference": "212a27b731e5bfb735679d1ffaac82bd6a1dc996",
                 "shasum": ""
             },
             "require": {
@@ -10541,7 +10580,7 @@
             ],
             "description": "Symfony Yaml Component",
             "homepage": "https://symfony.com",
-            "time": "2019-02-23T15:06:07+00:00"
+            "time": "2019-03-25T07:48:46+00:00"
         },
         {
             "name": "twig/extensions",
@@ -10600,16 +10639,16 @@
         },
         {
             "name": "twig/twig",
-            "version": "v1.38.2",
+            "version": "v1.39.1",
             "source": {
                 "type": "git",
                 "url": "https://github.com/twigphp/Twig.git",
-                "reference": "874adbd9222f928f6998732b25b01b41dff15b0c"
+                "reference": "23e7b6f0cfa1d7ba3de69f30d8e05cf957412fec"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/twigphp/Twig/zipball/874adbd9222f928f6998732b25b01b41dff15b0c",
-                "reference": "874adbd9222f928f6998732b25b01b41dff15b0c",
+                "url": "https://api.github.com/repos/twigphp/Twig/zipball/23e7b6f0cfa1d7ba3de69f30d8e05cf957412fec",
+                "reference": "23e7b6f0cfa1d7ba3de69f30d8e05cf957412fec",
                 "shasum": ""
             },
             "require": {
@@ -10624,7 +10663,7 @@
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "1.38-dev"
+                    "dev-master": "1.39-dev"
                 }
             },
             "autoload": {
@@ -10662,23 +10701,26 @@
             "keywords": [
                 "templating"
             ],
-            "time": "2019-03-12T18:45:24+00:00"
+            "time": "2019-04-16T17:12:57+00:00"
         },
         {
             "name": "typo3/phar-stream-wrapper",
-            "version": "v2.0.1",
+            "version": "v2.1.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/TYPO3/phar-stream-wrapper.git",
-                "reference": "0469d9fefa0146ea4299d3b11cfbb76faa7045bf"
+                "reference": "b7a21f0859059ed5d9754af8c11f852d43762334"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/TYPO3/phar-stream-wrapper/zipball/0469d9fefa0146ea4299d3b11cfbb76faa7045bf",
-                "reference": "0469d9fefa0146ea4299d3b11cfbb76faa7045bf",
+                "url": "https://api.github.com/repos/TYPO3/phar-stream-wrapper/zipball/b7a21f0859059ed5d9754af8c11f852d43762334",
+                "reference": "b7a21f0859059ed5d9754af8c11f852d43762334",
                 "shasum": ""
             },
             "require": {
+                "brumann/polyfill-unserialize": "^1.0",
+                "ext-fileinfo": "*",
+                "ext-json": "*",
                 "php": "^5.3.3|^7.0"
             },
             "require-dev": {
@@ -10702,7 +10744,7 @@
                 "security",
                 "stream-wrapper"
             ],
-            "time": "2018-10-18T08:46:28+00:00"
+            "time": "2019-03-01T17:43:52+00:00"
         },
         {
             "name": "webflo/drupal-finder",
diff --git a/vendor/brumann/polyfill-unserialize/.gitignore b/vendor/brumann/polyfill-unserialize/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..767699f1b8582342107dc0150e56452dea18914f
--- /dev/null
+++ b/vendor/brumann/polyfill-unserialize/.gitignore
@@ -0,0 +1,4 @@
+/vendor/
+/phpunit.xml
+/.composer.lock
+
diff --git a/vendor/brumann/polyfill-unserialize/.travis.yml b/vendor/brumann/polyfill-unserialize/.travis.yml
new file mode 100644
index 0000000000000000000000000000000000000000..352536f458432ba1da2310442477cba9a45a7834
--- /dev/null
+++ b/vendor/brumann/polyfill-unserialize/.travis.yml
@@ -0,0 +1,20 @@
+language: php
+
+sudo: false
+
+php:
+  - '5.3'
+  - '5.4'
+  - '5.5'
+  - '5.6'
+  - '7.0'
+  - '7.1'
+
+before_install:
+  - phpenv config-rm xdebug.ini
+  - composer self-update
+
+install:
+  - composer install
+
+script: phpunit
diff --git a/vendor/brumann/polyfill-unserialize/LICENSE b/vendor/brumann/polyfill-unserialize/LICENSE
new file mode 100644
index 0000000000000000000000000000000000000000..0cb53d3b0261b902e062b5cb513b622d3b5b4484
--- /dev/null
+++ b/vendor/brumann/polyfill-unserialize/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2016 Denis Brumann
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/vendor/brumann/polyfill-unserialize/README.md b/vendor/brumann/polyfill-unserialize/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..bac25fe049cf6635dbd64efd37d5a91a212f83bc
--- /dev/null
+++ b/vendor/brumann/polyfill-unserialize/README.md
@@ -0,0 +1,61 @@
+Polyfill unserialize [![Build Status](https://travis-ci.org/dbrumann/polyfill-unserialize.svg?branch=master)](https://travis-ci.org/dbrumann/polyfill-unserialize)
+===
+
+Backports unserialize options introduced in PHP 7.0 to older PHP versions.
+This was originally designed as a Proof of Concept for Symfony Issue [#21090](https://github.com/symfony/symfony/pull/21090).
+
+You can use this package in projects that rely on PHP versions older than PHP 7.0.
+In case you are using PHP 7.0+ the original `unserialize()` will be used instead.
+
+From the [documentation](https://secure.php.net/manual/en/function.unserialize.php):
+
+> Warning: Do not pass untrusted user input to unserialize(). Unserialization can
+> result in code being loaded and executed due to object instantiation
+> and autoloading, and a malicious user may be able to exploit this.
+
+This warning holds true even when `allowed_classes` is used.
+
+Requirements
+------------
+
+ - PHP 5.3+
+
+Installation
+------------
+
+You can install this package via composer:
+
+```
+composer require brumann/polyfill-unserialize "^1.0"
+```
+
+Known Issues
+------------
+
+There is a mismatch in behavior when `allowed_classes` in `$options` is not
+of the correct type (array or boolean). PHP 7.1 will issue a warning, whereas
+PHP 7.0 will not. I opted to copy the behavior of the former.
+
+Tests
+-----
+
+You can run the test suite using PHPUnit. It is intentionally not bundled as
+dev dependency to make sure this package has the lowest restrictions on the
+implementing system as possible.
+
+Please read the [PHPUnit Manual](https://phpunit.de/manual/current/en/installation.html)
+for information how to install it on your system.
+
+You can run the test suite as follows:
+
+```
+phpunit -c phpunit.xml.dist tests/
+```
+
+Contributing
+------------
+
+This package is considered feature complete. As such I will likely not update it
+unless there are security issues.
+
+Should you find any bugs or have questions, feel free to submit an Issue or a Pull Request.
diff --git a/vendor/brumann/polyfill-unserialize/composer.json b/vendor/brumann/polyfill-unserialize/composer.json
new file mode 100644
index 0000000000000000000000000000000000000000..ec4a2cf0eab37bccd2d34c9931c6317b57b774e1
--- /dev/null
+++ b/vendor/brumann/polyfill-unserialize/composer.json
@@ -0,0 +1,26 @@
+{
+    "name": "brumann/polyfill-unserialize",
+    "description": "Backports unserialize options introduced in PHP 7.0 to older PHP versions.",
+    "type": "library",
+    "license": "MIT",
+    "authors": [
+        {
+            "name": "Denis Brumann",
+            "email": "denis.brumann@sensiolabs.de"
+        }
+    ],
+    "autoload": {
+        "psr-4": {
+            "Brumann\\Polyfill\\": "src/"
+        }
+    },
+    "autoload-dev": {
+        "psr-4": {
+            "Tests\\Brumann\\Polyfill\\": "tests/"
+        }
+    },
+    "minimum-stability": "stable",
+    "require": {
+        "php": "^5.3|^7.0"
+    }
+}
diff --git a/vendor/brumann/polyfill-unserialize/phpunit.xml.dist b/vendor/brumann/polyfill-unserialize/phpunit.xml.dist
new file mode 100644
index 0000000000000000000000000000000000000000..8fea1bab869db3e1491ad9f766c2043c92e0caad
--- /dev/null
+++ b/vendor/brumann/polyfill-unserialize/phpunit.xml.dist
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<phpunit
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/4.1/phpunit.xsd"
+    backupGlobals="false"
+    colors="true"
+    bootstrap="vendor/autoload.php"
+>
+    <php>
+        <ini name="error_reporting" value="-1" />
+    </php>
+
+    <testsuites>
+        <testsuite name="Brumann\Polyfill Test Suite">
+            <directory>./tests/</directory>
+        </testsuite>
+    </testsuites>
+
+    <filter>
+        <whitelist>
+            <directory>./src/</directory>
+        </whitelist>
+    </filter>
+</phpunit>
diff --git a/vendor/brumann/polyfill-unserialize/src/Unserialize.php b/vendor/brumann/polyfill-unserialize/src/Unserialize.php
new file mode 100644
index 0000000000000000000000000000000000000000..e025d55ed4ef2cbfb83a7a93b056f071ff10b367
--- /dev/null
+++ b/vendor/brumann/polyfill-unserialize/src/Unserialize.php
@@ -0,0 +1,58 @@
+<?php
+
+namespace Brumann\Polyfill;
+
+final class Unserialize
+{
+    /**
+     * @see https://secure.php.net/manual/en/function.unserialize.php
+     *
+     * @param string $serialized Serialized data
+     * @param array $options Associative array containing options
+     *
+     * @return mixed
+     */
+    public static function unserialize($serialized, array $options = array())
+    {
+        if (PHP_VERSION_ID >= 70000) {
+            return \unserialize($serialized, $options);
+        }
+        if (!array_key_exists('allowed_classes', $options)) {
+            $options['allowed_classes'] = true;
+        }
+        $allowedClasses = $options['allowed_classes'];
+        if (true === $allowedClasses) {
+            return \unserialize($serialized);
+        }
+        if (false === $allowedClasses) {
+            $allowedClasses = array();
+        }
+        if (!is_array($allowedClasses)) {
+            trigger_error(
+                'unserialize(): allowed_classes option should be array or boolean',
+                E_USER_WARNING
+            );
+            $allowedClasses = array();
+        }
+
+        $sanitizedSerialized = preg_replace_callback(
+            '/(^|;)O:\d+:"([^"]*)":(\d+):{/',
+            function ($match) use ($allowedClasses) {
+                list($completeMatch, $leftBorder, $className, $objectSize) = $match;
+                if (in_array($className, $allowedClasses)) {
+                    return $completeMatch;
+                } else {
+                    return sprintf(
+                        '%sO:22:"__PHP_Incomplete_Class":%d:{s:27:"__PHP_Incomplete_Class_Name";%s',
+                        $leftBorder,
+                        $objectSize + 1, // size of object + 1 for added string
+                        \serialize($className)
+                    );
+                }
+            },
+            $serialized
+        );
+
+        return \unserialize($sanitizedSerialized);
+    }
+}
diff --git a/vendor/brumann/polyfill-unserialize/tests/Foo.php b/vendor/brumann/polyfill-unserialize/tests/Foo.php
new file mode 100644
index 0000000000000000000000000000000000000000..b2a16e575ac8a50f4c9020f8bf40a799ecad79a6
--- /dev/null
+++ b/vendor/brumann/polyfill-unserialize/tests/Foo.php
@@ -0,0 +1,7 @@
+<?php
+
+namespace Tests\Brumann\Polyfill;
+
+class Foo
+{
+}
diff --git a/vendor/brumann/polyfill-unserialize/tests/UnserializeTest.php b/vendor/brumann/polyfill-unserialize/tests/UnserializeTest.php
new file mode 100644
index 0000000000000000000000000000000000000000..e4ea424bcaaba79e5f5b180be062de4de3c8ae61
--- /dev/null
+++ b/vendor/brumann/polyfill-unserialize/tests/UnserializeTest.php
@@ -0,0 +1,196 @@
+<?php
+
+namespace Tests\Brumann\Polyfill;
+
+use Brumann\Polyfill\Unserialize;
+
+class UnserializeTest extends \PHPUnit_Framework_TestCase
+{
+    public function test_unserialize_without_options_returns_instance()
+    {
+        $foo = new Foo();
+        $serialized = serialize($foo);
+
+        $unserialized = Unserialize::unserialize($serialized);
+
+        $this->assertInstanceOf('Tests\\Brumann\\Polyfill\\Foo', $unserialized);
+    }
+
+    public function test_unserialize_with_cqn_returns_instance()
+    {
+        $foo = new Foo();
+        $serialized = serialize($foo);
+        $options = array(
+            'allowed_classes' => array('Tests\\Brumann\\Polyfill\\Foo'),
+        );
+
+        $unserialized = Unserialize::unserialize($serialized, $options);
+
+        $this->assertInstanceOf('Tests\\Brumann\\Polyfill\\Foo', $unserialized);
+    }
+
+    public function test_unserialize_with_fqcn_allowed_returns_instance()
+    {
+        $foo = new Foo();
+        $serialized = serialize($foo);
+        $options = array(
+            'allowed_classes' => array('\\Tests\\Brumann\\Polyfill\\Foo'),
+        );
+
+        $unserialized = Unserialize::unserialize($serialized, $options);
+
+        $this->assertInstanceOf('__PHP_Incomplete_Class', $unserialized);
+    }
+
+    public function test_unserialize_with_allowed_classes_false_returns_incomplete_object()
+    {
+        $foo = new Foo();
+        $serialized = serialize($foo);
+        $options = array(
+            'allowed_classes' => false,
+        );
+
+        $unserialized = Unserialize::unserialize($serialized, $options);
+
+        $this->assertInstanceOf('__PHP_Incomplete_Class', $unserialized);
+    }
+
+    /**
+     * @requires PHP < 7.0
+     *
+     * @expectedException \PHPUnit_Framework_Error_Warning
+     * @expectedMessage allowed_classes option should be array or boolean
+     */
+    public function test_unserialize_with_allowed_classes_null_behaves_like_php71()
+    {
+        $foo = new Foo();
+        $serialized = serialize($foo);
+        $options = array(
+            'allowed_classes' => null,
+        );
+
+        Unserialize::unserialize($serialized, $options);
+    }
+
+    /**
+     * @expectedException \PHPUnit_Framework_Error_Notice
+     * @expectedExceptionMessage tried to execute a method or access a property of an incomplete object.
+     */
+    public function test_accessing_property_of_incomplete_object_returns_warning()
+    {
+        $bar = new \stdClass();
+        $bar->foo = new Foo();
+        $serialized = serialize($bar);
+        $options = array(
+            'allowed_classes' => array('Tests\\Brumann\\Polyfill\\Foo'),
+        );
+
+        $unserialized = Unserialize::unserialize($serialized, $options);
+
+        $this->assertInstanceOf('__PHP_Incomplete_Class', $unserialized);
+        $unserialized->foo;
+    }
+
+    public function test_unserialize_only_parent_object()
+    {
+        $foo = new Foo();
+        $foo->bar = new \stdClass();
+        $serialized = serialize($foo);
+        $options = array(
+            'allowed_classes' => array('Tests\\Brumann\\Polyfill\\Foo'),
+        );
+
+        $unserialized = Unserialize::unserialize($serialized, $options);
+
+        $this->assertInstanceOf('\\Tests\\Brumann\\Polyfill\\Foo', $unserialized);
+        $this->assertInstanceOf('__PHP_Incomplete_Class', $unserialized->bar);
+    }
+
+    public function test_unserialize_parent_and_embedded_object()
+    {
+        $foo = new Foo();
+        $foo->foo = new Foo();
+        $serialized = serialize($foo);
+        $options = array(
+            'allowed_classes' => array('Tests\\Brumann\\Polyfill\\Foo'),
+        );
+
+        $unserialized = Unserialize::unserialize($serialized, $options);
+
+        $this->assertInstanceOf('\\Tests\\Brumann\\Polyfill\\Foo', $unserialized);
+        $this->assertInstanceOf('\\Tests\\Brumann\\Polyfill\\Foo', $unserialized->foo);
+    }
+
+    public function test_unserialize_with_allowed_classes_false_serializes_string()
+    {
+        $string = 'This is an ordinary string';
+        $serialized = serialize($string);
+        $options = array(
+            'allowed_classes' => false,
+        );
+
+        $unserialized = Unserialize::unserialize($serialized, $options);
+
+        $this->assertEquals($string, $unserialized);
+    }
+
+    public function test_unserialize_with_allowed_classes_false_serializes_bool()
+    {
+        $bool = true;
+        $serialized = serialize($bool);
+        $options = array(
+            'allowed_classes' => false,
+        );
+
+        $unserialized = Unserialize::unserialize($serialized, $options);
+
+        $this->assertEquals($bool, $unserialized);
+    }
+
+    public function test_unserialize_with_allowed_classes_false_serializes_array()
+    {
+        $array = array(
+            'key' => 42,
+            1 => 'foo',
+            'bar' => 'baz',
+            2 => 23,
+            4 => true,
+        );
+        $serialized = serialize($array);
+        $options = array(
+            'allowed_classes' => false,
+        );
+
+        $unserialized = Unserialize::unserialize($serialized, $options);
+
+        $this->assertSame($array, $unserialized);
+    }
+
+    public function test_double_serialized_unserializes_as_first_serialized()
+    {
+        $foo = new Foo();
+        $first = serialize($foo);
+        $second = serialize($first);
+        $options = array(
+            'allowed_classes' => false,
+        );
+
+        $unserialized = Unserialize::unserialize($second, $options);
+
+        $this->assertSame($first, $unserialized);
+    }
+
+    public function test_double_unserialize_double_serialized()
+    {
+        $foo = new Foo();
+        $serialized = serialize(serialize($foo));
+        $options = array(
+            'allowed_classes' => false,
+        );
+
+        $first = Unserialize::unserialize($serialized, $options);
+        $unserialized = Unserialize::unserialize($first, $options);
+
+        $this->assertInstanceOf('__PHP_Incomplete_Class', $unserialized);
+    }
+}
diff --git a/vendor/composer/autoload_classmap.php b/vendor/composer/autoload_classmap.php
index 9d5771ff554bc894b8fde13562379334bcb6fc9c..b85c7d47ed1ad6ec9a915cddf2b38475128608bc 100644
--- a/vendor/composer/autoload_classmap.php
+++ b/vendor/composer/autoload_classmap.php
@@ -89,6 +89,7 @@
     'Asm89\\Stack\\Cors' => $vendorDir . '/asm89/stack-cors/src/Asm89/Stack/Cors.php',
     'Asm89\\Stack\\CorsService' => $vendorDir . '/asm89/stack-cors/src/Asm89/Stack/CorsService.php',
     'AssertionError' => $vendorDir . '/symfony/polyfill-php70/Resources/stubs/AssertionError.php',
+    'Brumann\\Polyfill\\Unserialize' => $vendorDir . '/brumann/polyfill-unserialize/src/Unserialize.php',
     'CommerceGuys\\Addressing\\AbstractEnum' => $vendorDir . '/commerceguys/addressing/src/AbstractEnum.php',
     'CommerceGuys\\Addressing\\Address' => $vendorDir . '/commerceguys/addressing/src/Address.php',
     'CommerceGuys\\Addressing\\AddressFormat\\AddressField' => $vendorDir . '/commerceguys/addressing/src/AddressFormat/AddressField.php',
@@ -4455,6 +4456,7 @@
     'Symfony\\Component\\Validator\\ObjectInitializerInterface' => $vendorDir . '/symfony/validator/ObjectInitializerInterface.php',
     'Symfony\\Component\\Validator\\Test\\ConstraintValidatorTestCase' => $vendorDir . '/symfony/validator/Test/ConstraintValidatorTestCase.php',
     'Symfony\\Component\\Validator\\Test\\ConstraintViolationAssertion' => $vendorDir . '/symfony/validator/Test/ConstraintValidatorTestCase.php',
+    'Symfony\\Component\\Validator\\Test\\TestCaseSetUpTearDownTrait' => $vendorDir . '/symfony/validator/Test/TestCaseSetUpTearDownTrait.php',
     'Symfony\\Component\\Validator\\Util\\PropertyPath' => $vendorDir . '/symfony/validator/Util/PropertyPath.php',
     'Symfony\\Component\\Validator\\Validation' => $vendorDir . '/symfony/validator/Validation.php',
     'Symfony\\Component\\Validator\\ValidatorBuilder' => $vendorDir . '/symfony/validator/ValidatorBuilder.php',
@@ -4524,11 +4526,24 @@
     'Symfony\\Polyfill\\Php70\\Php70' => $vendorDir . '/symfony/polyfill-php70/Php70.php',
     'TYPO3\\PharStreamWrapper\\Assertable' => $vendorDir . '/typo3/phar-stream-wrapper/src/Assertable.php',
     'TYPO3\\PharStreamWrapper\\Behavior' => $vendorDir . '/typo3/phar-stream-wrapper/src/Behavior.php',
+    'TYPO3\\PharStreamWrapper\\Collectable' => $vendorDir . '/typo3/phar-stream-wrapper/src/Collectable.php',
     'TYPO3\\PharStreamWrapper\\Exception' => $vendorDir . '/typo3/phar-stream-wrapper/src/Exception.php',
     'TYPO3\\PharStreamWrapper\\Helper' => $vendorDir . '/typo3/phar-stream-wrapper/src/Helper.php',
+    'TYPO3\\PharStreamWrapper\\Interceptor\\ConjunctionInterceptor' => $vendorDir . '/typo3/phar-stream-wrapper/src/Interceptor/ConjunctionInterceptor.php',
     'TYPO3\\PharStreamWrapper\\Interceptor\\PharExtensionInterceptor' => $vendorDir . '/typo3/phar-stream-wrapper/src/Interceptor/PharExtensionInterceptor.php',
+    'TYPO3\\PharStreamWrapper\\Interceptor\\PharMetaDataInterceptor' => $vendorDir . '/typo3/phar-stream-wrapper/src/Interceptor/PharMetaDataInterceptor.php',
     'TYPO3\\PharStreamWrapper\\Manager' => $vendorDir . '/typo3/phar-stream-wrapper/src/Manager.php',
     'TYPO3\\PharStreamWrapper\\PharStreamWrapper' => $vendorDir . '/typo3/phar-stream-wrapper/src/PharStreamWrapper.php',
+    'TYPO3\\PharStreamWrapper\\Phar\\Container' => $vendorDir . '/typo3/phar-stream-wrapper/src/Phar/Container.php',
+    'TYPO3\\PharStreamWrapper\\Phar\\DeserializationException' => $vendorDir . '/typo3/phar-stream-wrapper/src/Phar/DeserializationException.php',
+    'TYPO3\\PharStreamWrapper\\Phar\\Manifest' => $vendorDir . '/typo3/phar-stream-wrapper/src/Phar/Manifest.php',
+    'TYPO3\\PharStreamWrapper\\Phar\\Reader' => $vendorDir . '/typo3/phar-stream-wrapper/src/Phar/Reader.php',
+    'TYPO3\\PharStreamWrapper\\Phar\\ReaderException' => $vendorDir . '/typo3/phar-stream-wrapper/src/Phar/ReaderException.php',
+    'TYPO3\\PharStreamWrapper\\Phar\\Stub' => $vendorDir . '/typo3/phar-stream-wrapper/src/Phar/Stub.php',
+    'TYPO3\\PharStreamWrapper\\Resolvable' => $vendorDir . '/typo3/phar-stream-wrapper/src/Resolvable.php',
+    'TYPO3\\PharStreamWrapper\\Resolver\\PharInvocation' => $vendorDir . '/typo3/phar-stream-wrapper/src/Resolver/PharInvocation.php',
+    'TYPO3\\PharStreamWrapper\\Resolver\\PharInvocationCollection' => $vendorDir . '/typo3/phar-stream-wrapper/src/Resolver/PharInvocationCollection.php',
+    'TYPO3\\PharStreamWrapper\\Resolver\\PharInvocationResolver' => $vendorDir . '/typo3/phar-stream-wrapper/src/Resolver/PharInvocationResolver.php',
     'Twig\\Cache\\CacheInterface' => $vendorDir . '/twig/twig/src/Cache/CacheInterface.php',
     'Twig\\Cache\\FilesystemCache' => $vendorDir . '/twig/twig/src/Cache/FilesystemCache.php',
     'Twig\\Cache\\NullCache' => $vendorDir . '/twig/twig/src/Cache/NullCache.php',
@@ -4621,6 +4636,7 @@
     'Twig\\Node\\Expression\\Filter\\DefaultFilter' => $vendorDir . '/twig/twig/src/Node/Expression/Filter/DefaultFilter.php',
     'Twig\\Node\\Expression\\FunctionExpression' => $vendorDir . '/twig/twig/src/Node/Expression/FunctionExpression.php',
     'Twig\\Node\\Expression\\GetAttrExpression' => $vendorDir . '/twig/twig/src/Node/Expression/GetAttrExpression.php',
+    'Twig\\Node\\Expression\\InlinePrint' => $vendorDir . '/twig/twig/src/Node/Expression/InlinePrint.php',
     'Twig\\Node\\Expression\\MethodCallExpression' => $vendorDir . '/twig/twig/src/Node/Expression/MethodCallExpression.php',
     'Twig\\Node\\Expression\\NameExpression' => $vendorDir . '/twig/twig/src/Node/Expression/NameExpression.php',
     'Twig\\Node\\Expression\\NullCoalesceExpression' => $vendorDir . '/twig/twig/src/Node/Expression/NullCoalesceExpression.php',
diff --git a/vendor/composer/autoload_psr4.php b/vendor/composer/autoload_psr4.php
index 670b670111132fb64a86e5dde6ec51256b84038f..522a868995071e2b3c46e17c967afbe27812f52a 100644
--- a/vendor/composer/autoload_psr4.php
+++ b/vendor/composer/autoload_psr4.php
@@ -78,6 +78,7 @@
     'Composer\\Installers\\' => array($vendorDir . '/composer/installers/src/Composer/Installers'),
     'CommerceGuys\\Intl\\' => array($vendorDir . '/commerceguys/intl/src'),
     'CommerceGuys\\Addressing\\' => array($vendorDir . '/commerceguys/addressing/src'),
+    'Brumann\\Polyfill\\' => array($vendorDir . '/brumann/polyfill-unserialize/src'),
     'Asm89\\Stack\\' => array($vendorDir . '/asm89/stack-cors/src/Asm89/Stack'),
     'Alchemy\\Zippy\\' => array($vendorDir . '/alchemy/zippy/src'),
 );
diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php
index 20a080e3257c4034d43c7258f53c29543c15ef14..2fa9742d8835221259968db978916029012f9a25 100644
--- a/vendor/composer/autoload_static.php
+++ b/vendor/composer/autoload_static.php
@@ -149,6 +149,10 @@ class ComposerStaticInit5c689ffcd54b9e495ed983fdce09b530
             'CommerceGuys\\Intl\\' => 18,
             'CommerceGuys\\Addressing\\' => 24,
         ),
+        'B' => 
+        array (
+            'Brumann\\Polyfill\\' => 17,
+        ),
         'A' => 
         array (
             'Asm89\\Stack\\' => 12,
@@ -445,6 +449,10 @@ class ComposerStaticInit5c689ffcd54b9e495ed983fdce09b530
         array (
             0 => __DIR__ . '/..' . '/commerceguys/addressing/src',
         ),
+        'Brumann\\Polyfill\\' => 
+        array (
+            0 => __DIR__ . '/..' . '/brumann/polyfill-unserialize/src',
+        ),
         'Asm89\\Stack\\' => 
         array (
             0 => __DIR__ . '/..' . '/asm89/stack-cors/src/Asm89/Stack',
@@ -620,6 +628,7 @@ class ComposerStaticInit5c689ffcd54b9e495ed983fdce09b530
         'Asm89\\Stack\\Cors' => __DIR__ . '/..' . '/asm89/stack-cors/src/Asm89/Stack/Cors.php',
         'Asm89\\Stack\\CorsService' => __DIR__ . '/..' . '/asm89/stack-cors/src/Asm89/Stack/CorsService.php',
         'AssertionError' => __DIR__ . '/..' . '/symfony/polyfill-php70/Resources/stubs/AssertionError.php',
+        'Brumann\\Polyfill\\Unserialize' => __DIR__ . '/..' . '/brumann/polyfill-unserialize/src/Unserialize.php',
         'CommerceGuys\\Addressing\\AbstractEnum' => __DIR__ . '/..' . '/commerceguys/addressing/src/AbstractEnum.php',
         'CommerceGuys\\Addressing\\Address' => __DIR__ . '/..' . '/commerceguys/addressing/src/Address.php',
         'CommerceGuys\\Addressing\\AddressFormat\\AddressField' => __DIR__ . '/..' . '/commerceguys/addressing/src/AddressFormat/AddressField.php',
@@ -4986,6 +4995,7 @@ class ComposerStaticInit5c689ffcd54b9e495ed983fdce09b530
         'Symfony\\Component\\Validator\\ObjectInitializerInterface' => __DIR__ . '/..' . '/symfony/validator/ObjectInitializerInterface.php',
         'Symfony\\Component\\Validator\\Test\\ConstraintValidatorTestCase' => __DIR__ . '/..' . '/symfony/validator/Test/ConstraintValidatorTestCase.php',
         'Symfony\\Component\\Validator\\Test\\ConstraintViolationAssertion' => __DIR__ . '/..' . '/symfony/validator/Test/ConstraintValidatorTestCase.php',
+        'Symfony\\Component\\Validator\\Test\\TestCaseSetUpTearDownTrait' => __DIR__ . '/..' . '/symfony/validator/Test/TestCaseSetUpTearDownTrait.php',
         'Symfony\\Component\\Validator\\Util\\PropertyPath' => __DIR__ . '/..' . '/symfony/validator/Util/PropertyPath.php',
         'Symfony\\Component\\Validator\\Validation' => __DIR__ . '/..' . '/symfony/validator/Validation.php',
         'Symfony\\Component\\Validator\\ValidatorBuilder' => __DIR__ . '/..' . '/symfony/validator/ValidatorBuilder.php',
@@ -5055,11 +5065,24 @@ class ComposerStaticInit5c689ffcd54b9e495ed983fdce09b530
         'Symfony\\Polyfill\\Php70\\Php70' => __DIR__ . '/..' . '/symfony/polyfill-php70/Php70.php',
         'TYPO3\\PharStreamWrapper\\Assertable' => __DIR__ . '/..' . '/typo3/phar-stream-wrapper/src/Assertable.php',
         'TYPO3\\PharStreamWrapper\\Behavior' => __DIR__ . '/..' . '/typo3/phar-stream-wrapper/src/Behavior.php',
+        'TYPO3\\PharStreamWrapper\\Collectable' => __DIR__ . '/..' . '/typo3/phar-stream-wrapper/src/Collectable.php',
         'TYPO3\\PharStreamWrapper\\Exception' => __DIR__ . '/..' . '/typo3/phar-stream-wrapper/src/Exception.php',
         'TYPO3\\PharStreamWrapper\\Helper' => __DIR__ . '/..' . '/typo3/phar-stream-wrapper/src/Helper.php',
+        'TYPO3\\PharStreamWrapper\\Interceptor\\ConjunctionInterceptor' => __DIR__ . '/..' . '/typo3/phar-stream-wrapper/src/Interceptor/ConjunctionInterceptor.php',
         'TYPO3\\PharStreamWrapper\\Interceptor\\PharExtensionInterceptor' => __DIR__ . '/..' . '/typo3/phar-stream-wrapper/src/Interceptor/PharExtensionInterceptor.php',
+        'TYPO3\\PharStreamWrapper\\Interceptor\\PharMetaDataInterceptor' => __DIR__ . '/..' . '/typo3/phar-stream-wrapper/src/Interceptor/PharMetaDataInterceptor.php',
         'TYPO3\\PharStreamWrapper\\Manager' => __DIR__ . '/..' . '/typo3/phar-stream-wrapper/src/Manager.php',
         'TYPO3\\PharStreamWrapper\\PharStreamWrapper' => __DIR__ . '/..' . '/typo3/phar-stream-wrapper/src/PharStreamWrapper.php',
+        'TYPO3\\PharStreamWrapper\\Phar\\Container' => __DIR__ . '/..' . '/typo3/phar-stream-wrapper/src/Phar/Container.php',
+        'TYPO3\\PharStreamWrapper\\Phar\\DeserializationException' => __DIR__ . '/..' . '/typo3/phar-stream-wrapper/src/Phar/DeserializationException.php',
+        'TYPO3\\PharStreamWrapper\\Phar\\Manifest' => __DIR__ . '/..' . '/typo3/phar-stream-wrapper/src/Phar/Manifest.php',
+        'TYPO3\\PharStreamWrapper\\Phar\\Reader' => __DIR__ . '/..' . '/typo3/phar-stream-wrapper/src/Phar/Reader.php',
+        'TYPO3\\PharStreamWrapper\\Phar\\ReaderException' => __DIR__ . '/..' . '/typo3/phar-stream-wrapper/src/Phar/ReaderException.php',
+        'TYPO3\\PharStreamWrapper\\Phar\\Stub' => __DIR__ . '/..' . '/typo3/phar-stream-wrapper/src/Phar/Stub.php',
+        'TYPO3\\PharStreamWrapper\\Resolvable' => __DIR__ . '/..' . '/typo3/phar-stream-wrapper/src/Resolvable.php',
+        'TYPO3\\PharStreamWrapper\\Resolver\\PharInvocation' => __DIR__ . '/..' . '/typo3/phar-stream-wrapper/src/Resolver/PharInvocation.php',
+        'TYPO3\\PharStreamWrapper\\Resolver\\PharInvocationCollection' => __DIR__ . '/..' . '/typo3/phar-stream-wrapper/src/Resolver/PharInvocationCollection.php',
+        'TYPO3\\PharStreamWrapper\\Resolver\\PharInvocationResolver' => __DIR__ . '/..' . '/typo3/phar-stream-wrapper/src/Resolver/PharInvocationResolver.php',
         'Twig\\Cache\\CacheInterface' => __DIR__ . '/..' . '/twig/twig/src/Cache/CacheInterface.php',
         'Twig\\Cache\\FilesystemCache' => __DIR__ . '/..' . '/twig/twig/src/Cache/FilesystemCache.php',
         'Twig\\Cache\\NullCache' => __DIR__ . '/..' . '/twig/twig/src/Cache/NullCache.php',
@@ -5152,6 +5175,7 @@ class ComposerStaticInit5c689ffcd54b9e495ed983fdce09b530
         'Twig\\Node\\Expression\\Filter\\DefaultFilter' => __DIR__ . '/..' . '/twig/twig/src/Node/Expression/Filter/DefaultFilter.php',
         'Twig\\Node\\Expression\\FunctionExpression' => __DIR__ . '/..' . '/twig/twig/src/Node/Expression/FunctionExpression.php',
         'Twig\\Node\\Expression\\GetAttrExpression' => __DIR__ . '/..' . '/twig/twig/src/Node/Expression/GetAttrExpression.php',
+        'Twig\\Node\\Expression\\InlinePrint' => __DIR__ . '/..' . '/twig/twig/src/Node/Expression/InlinePrint.php',
         'Twig\\Node\\Expression\\MethodCallExpression' => __DIR__ . '/..' . '/twig/twig/src/Node/Expression/MethodCallExpression.php',
         'Twig\\Node\\Expression\\NameExpression' => __DIR__ . '/..' . '/twig/twig/src/Node/Expression/NameExpression.php',
         'Twig\\Node\\Expression\\NullCoalesceExpression' => __DIR__ . '/..' . '/twig/twig/src/Node/Expression/NullCoalesceExpression.php',
diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json
index 9247e6efe47d3d8cdb7e4e893d45b5c664a0514b..f562679b8e65553f12318b32f25cba9c310308ba 100644
--- a/vendor/composer/installed.json
+++ b/vendor/composer/installed.json
@@ -131,6 +131,44 @@
         "type": "drupal-library",
         "installation-source": "source"
     },
+    {
+        "name": "brumann/polyfill-unserialize",
+        "version": "v1.0.3",
+        "version_normalized": "1.0.3.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/dbrumann/polyfill-unserialize.git",
+            "reference": "844d7e44b62a1a3d5c68cfb7ebbd59c17ea0fd7b"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/dbrumann/polyfill-unserialize/zipball/844d7e44b62a1a3d5c68cfb7ebbd59c17ea0fd7b",
+            "reference": "844d7e44b62a1a3d5c68cfb7ebbd59c17ea0fd7b",
+            "shasum": ""
+        },
+        "require": {
+            "php": "^5.3|^7.0"
+        },
+        "time": "2017-02-03T09:55:47+00:00",
+        "type": "library",
+        "installation-source": "dist",
+        "autoload": {
+            "psr-4": {
+                "Brumann\\Polyfill\\": "src/"
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "Denis Brumann",
+                "email": "denis.brumann@sensiolabs.de"
+            }
+        ],
+        "description": "Backports unserialize options introduced in PHP 7.0 to older PHP versions."
+    },
     {
         "name": "ckeditor/indentblock",
         "version": "4.8.0",
@@ -3830,7 +3868,9 @@
                     "message": "Beta releases are not covered by Drupal security advisories."
                 }
             },
-            "patches_applied": []
+            "patches_applied": {
+                "2881745": "patches/entity_embed_2881745-22.patch"
+            }
         },
         "installation-source": "dist",
         "notification-url": "https://packages.drupal.org/8/downloads",
@@ -9328,8 +9368,8 @@
     },
     {
         "name": "symfony/class-loader",
-        "version": "v3.4.23",
-        "version_normalized": "3.4.23.0",
+        "version": "v3.4.26",
+        "version_normalized": "3.4.26.0",
         "source": {
             "type": "git",
             "url": "https://github.com/symfony/class-loader.git",
@@ -9452,17 +9492,17 @@
     },
     {
         "name": "symfony/console",
-        "version": "v3.4.23",
-        "version_normalized": "3.4.23.0",
+        "version": "v3.4.26",
+        "version_normalized": "3.4.26.0",
         "source": {
             "type": "git",
             "url": "https://github.com/symfony/console.git",
-            "reference": "71ce77f37af0c5ffb9590e43cc4f70e426945c5e"
+            "reference": "15a9104356436cb26e08adab97706654799d31d8"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/symfony/console/zipball/71ce77f37af0c5ffb9590e43cc4f70e426945c5e",
-            "reference": "71ce77f37af0c5ffb9590e43cc4f70e426945c5e",
+            "url": "https://api.github.com/repos/symfony/console/zipball/15a9104356436cb26e08adab97706654799d31d8",
+            "reference": "15a9104356436cb26e08adab97706654799d31d8",
             "shasum": ""
         },
         "require": {
@@ -9491,7 +9531,7 @@
             "symfony/lock": "",
             "symfony/process": ""
         },
-        "time": "2019-02-23T15:06:07+00:00",
+        "time": "2019-04-08T09:29:13+00:00",
         "type": "library",
         "extra": {
             "branch-alias": {
@@ -9581,17 +9621,17 @@
     },
     {
         "name": "symfony/debug",
-        "version": "v3.4.23",
-        "version_normalized": "3.4.23.0",
+        "version": "v3.4.26",
+        "version_normalized": "3.4.26.0",
         "source": {
             "type": "git",
             "url": "https://github.com/symfony/debug.git",
-            "reference": "8d8a9e877b3fcdc50ddecf8dcea146059753f782"
+            "reference": "681afbb26488903c5ac15e63734f1d8ac430c9b9"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/symfony/debug/zipball/8d8a9e877b3fcdc50ddecf8dcea146059753f782",
-            "reference": "8d8a9e877b3fcdc50ddecf8dcea146059753f782",
+            "url": "https://api.github.com/repos/symfony/debug/zipball/681afbb26488903c5ac15e63734f1d8ac430c9b9",
+            "reference": "681afbb26488903c5ac15e63734f1d8ac430c9b9",
             "shasum": ""
         },
         "require": {
@@ -9604,7 +9644,7 @@
         "require-dev": {
             "symfony/http-kernel": "~2.8|~3.0|~4.0"
         },
-        "time": "2019-02-24T15:45:11+00:00",
+        "time": "2019-04-11T09:48:14+00:00",
         "type": "library",
         "extra": {
             "branch-alias": {
@@ -9639,17 +9679,17 @@
     },
     {
         "name": "symfony/dependency-injection",
-        "version": "v3.4.23",
-        "version_normalized": "3.4.23.0",
+        "version": "v3.4.26",
+        "version_normalized": "3.4.26.0",
         "source": {
             "type": "git",
             "url": "https://github.com/symfony/dependency-injection.git",
-            "reference": "c3dd7b7ea8cd8ec12304a5e222d7dc01cac8fa11"
+            "reference": "dee85a9148399cdb2731603802842bcfd8afe5ab"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/c3dd7b7ea8cd8ec12304a5e222d7dc01cac8fa11",
-            "reference": "c3dd7b7ea8cd8ec12304a5e222d7dc01cac8fa11",
+            "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/dee85a9148399cdb2731603802842bcfd8afe5ab",
+            "reference": "dee85a9148399cdb2731603802842bcfd8afe5ab",
             "shasum": ""
         },
         "require": {
@@ -9677,7 +9717,7 @@
             "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them",
             "symfony/yaml": ""
         },
-        "time": "2019-02-23T15:06:07+00:00",
+        "time": "2019-04-16T11:13:42+00:00",
         "type": "library",
         "extra": {
             "branch-alias": {
@@ -9771,17 +9811,17 @@
     },
     {
         "name": "symfony/event-dispatcher",
-        "version": "v3.4.23",
-        "version_normalized": "3.4.23.0",
+        "version": "v3.4.26",
+        "version_normalized": "3.4.26.0",
         "source": {
             "type": "git",
             "url": "https://github.com/symfony/event-dispatcher.git",
-            "reference": "ec625e2fff7f584eeb91754821807317b2e79236"
+            "reference": "a088aafcefb4eef2520a290ed82e4374092a6dff"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/ec625e2fff7f584eeb91754821807317b2e79236",
-            "reference": "ec625e2fff7f584eeb91754821807317b2e79236",
+            "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/a088aafcefb4eef2520a290ed82e4374092a6dff",
+            "reference": "a088aafcefb4eef2520a290ed82e4374092a6dff",
             "shasum": ""
         },
         "require": {
@@ -9801,7 +9841,7 @@
             "symfony/dependency-injection": "",
             "symfony/http-kernel": ""
         },
-        "time": "2019-02-23T15:06:07+00:00",
+        "time": "2019-04-02T08:51:52+00:00",
         "type": "library",
         "extra": {
             "branch-alias": {
@@ -9939,17 +9979,17 @@
     },
     {
         "name": "symfony/http-foundation",
-        "version": "v3.4.23",
-        "version_normalized": "3.4.23.0",
+        "version": "v3.4.26",
+        "version_normalized": "3.4.26.0",
         "source": {
             "type": "git",
             "url": "https://github.com/symfony/http-foundation.git",
-            "reference": "9a96d77ceb1fd913c9d4a89e8a7e1be87604be8a"
+            "reference": "90454ad44c95d75faf3507d56388056001b74baf"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/symfony/http-foundation/zipball/9a96d77ceb1fd913c9d4a89e8a7e1be87604be8a",
-            "reference": "9a96d77ceb1fd913c9d4a89e8a7e1be87604be8a",
+            "url": "https://api.github.com/repos/symfony/http-foundation/zipball/90454ad44c95d75faf3507d56388056001b74baf",
+            "reference": "90454ad44c95d75faf3507d56388056001b74baf",
             "shasum": ""
         },
         "require": {
@@ -9960,7 +10000,7 @@
         "require-dev": {
             "symfony/expression-language": "~2.8|~3.0|~4.0"
         },
-        "time": "2019-02-23T15:06:07+00:00",
+        "time": "2019-04-17T14:51:18+00:00",
         "type": "library",
         "extra": {
             "branch-alias": {
@@ -9995,17 +10035,17 @@
     },
     {
         "name": "symfony/http-kernel",
-        "version": "v3.4.23",
-        "version_normalized": "3.4.23.0",
+        "version": "v3.4.26",
+        "version_normalized": "3.4.26.0",
         "source": {
             "type": "git",
             "url": "https://github.com/symfony/http-kernel.git",
-            "reference": "0362368c761cb8d9c79e56ab0db61d2c692db594"
+            "reference": "14fa41ccd38570b5e3120a3754bbaa144a15f311"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/symfony/http-kernel/zipball/0362368c761cb8d9c79e56ab0db61d2c692db594",
-            "reference": "0362368c761cb8d9c79e56ab0db61d2c692db594",
+            "url": "https://api.github.com/repos/symfony/http-kernel/zipball/14fa41ccd38570b5e3120a3754bbaa144a15f311",
+            "reference": "14fa41ccd38570b5e3120a3754bbaa144a15f311",
             "shasum": ""
         },
         "require": {
@@ -10051,7 +10091,7 @@
             "symfony/finder": "",
             "symfony/var-dumper": ""
         },
-        "time": "2019-03-03T18:52:34+00:00",
+        "time": "2019-04-17T15:57:07+00:00",
         "type": "library",
         "extra": {
             "branch-alias": {
@@ -10086,17 +10126,17 @@
     },
     {
         "name": "symfony/polyfill-ctype",
-        "version": "v1.10.0",
-        "version_normalized": "1.10.0.0",
+        "version": "v1.11.0",
+        "version_normalized": "1.11.0.0",
         "source": {
             "type": "git",
             "url": "https://github.com/symfony/polyfill-ctype.git",
-            "reference": "e3d826245268269cd66f8326bd8bc066687b4a19"
+            "reference": "82ebae02209c21113908c229e9883c419720738a"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/e3d826245268269cd66f8326bd8bc066687b4a19",
-            "reference": "e3d826245268269cd66f8326bd8bc066687b4a19",
+            "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/82ebae02209c21113908c229e9883c419720738a",
+            "reference": "82ebae02209c21113908c229e9883c419720738a",
             "shasum": ""
         },
         "require": {
@@ -10105,11 +10145,11 @@
         "suggest": {
             "ext-ctype": "For best performance"
         },
-        "time": "2018-08-06T14:22:27+00:00",
+        "time": "2019-02-06T07:57:58+00:00",
         "type": "library",
         "extra": {
             "branch-alias": {
-                "dev-master": "1.9-dev"
+                "dev-master": "1.11-dev"
             }
         },
         "installation-source": "dist",
@@ -10146,17 +10186,17 @@
     },
     {
         "name": "symfony/polyfill-iconv",
-        "version": "v1.10.0",
-        "version_normalized": "1.10.0.0",
+        "version": "v1.11.0",
+        "version_normalized": "1.11.0.0",
         "source": {
             "type": "git",
             "url": "https://github.com/symfony/polyfill-iconv.git",
-            "reference": "97001cfc283484c9691769f51cdf25259037eba2"
+            "reference": "f037ea22acfaee983e271dd9c3b8bb4150bd8ad7"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/97001cfc283484c9691769f51cdf25259037eba2",
-            "reference": "97001cfc283484c9691769f51cdf25259037eba2",
+            "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/f037ea22acfaee983e271dd9c3b8bb4150bd8ad7",
+            "reference": "f037ea22acfaee983e271dd9c3b8bb4150bd8ad7",
             "shasum": ""
         },
         "require": {
@@ -10165,11 +10205,11 @@
         "suggest": {
             "ext-iconv": "For best performance"
         },
-        "time": "2018-09-21T06:26:08+00:00",
+        "time": "2019-02-06T07:57:58+00:00",
         "type": "library",
         "extra": {
             "branch-alias": {
-                "dev-master": "1.9-dev"
+                "dev-master": "1.11-dev"
             }
         },
         "installation-source": "dist",
@@ -10207,17 +10247,17 @@
     },
     {
         "name": "symfony/polyfill-mbstring",
-        "version": "v1.10.0",
-        "version_normalized": "1.10.0.0",
+        "version": "v1.11.0",
+        "version_normalized": "1.11.0.0",
         "source": {
             "type": "git",
             "url": "https://github.com/symfony/polyfill-mbstring.git",
-            "reference": "c79c051f5b3a46be09205c73b80b346e4153e494"
+            "reference": "fe5e94c604826c35a32fa832f35bd036b6799609"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/c79c051f5b3a46be09205c73b80b346e4153e494",
-            "reference": "c79c051f5b3a46be09205c73b80b346e4153e494",
+            "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fe5e94c604826c35a32fa832f35bd036b6799609",
+            "reference": "fe5e94c604826c35a32fa832f35bd036b6799609",
             "shasum": ""
         },
         "require": {
@@ -10226,11 +10266,11 @@
         "suggest": {
             "ext-mbstring": "For best performance"
         },
-        "time": "2018-09-21T13:07:52+00:00",
+        "time": "2019-02-06T07:57:58+00:00",
         "type": "library",
         "extra": {
             "branch-alias": {
-                "dev-master": "1.9-dev"
+                "dev-master": "1.11-dev"
             }
         },
         "installation-source": "dist",
@@ -10268,28 +10308,28 @@
     },
     {
         "name": "symfony/polyfill-php70",
-        "version": "v1.10.0",
-        "version_normalized": "1.10.0.0",
+        "version": "v1.11.0",
+        "version_normalized": "1.11.0.0",
         "source": {
             "type": "git",
             "url": "https://github.com/symfony/polyfill-php70.git",
-            "reference": "6b88000cdd431cd2e940caa2cb569201f3f84224"
+            "reference": "bc4858fb611bda58719124ca079baff854149c89"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/6b88000cdd431cd2e940caa2cb569201f3f84224",
-            "reference": "6b88000cdd431cd2e940caa2cb569201f3f84224",
+            "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/bc4858fb611bda58719124ca079baff854149c89",
+            "reference": "bc4858fb611bda58719124ca079baff854149c89",
             "shasum": ""
         },
         "require": {
             "paragonie/random_compat": "~1.0|~2.0|~9.99",
             "php": ">=5.3.3"
         },
-        "time": "2018-09-21T06:26:08+00:00",
+        "time": "2019-02-06T07:57:58+00:00",
         "type": "library",
         "extra": {
             "branch-alias": {
-                "dev-master": "1.9-dev"
+                "dev-master": "1.11-dev"
             }
         },
         "installation-source": "dist",
@@ -10329,23 +10369,23 @@
     },
     {
         "name": "symfony/process",
-        "version": "v3.4.23",
-        "version_normalized": "3.4.23.0",
+        "version": "v3.4.26",
+        "version_normalized": "3.4.26.0",
         "source": {
             "type": "git",
             "url": "https://github.com/symfony/process.git",
-            "reference": "009f8dda80930e89e8344a4e310b08f9ff07dd2e"
+            "reference": "a9c4dfbf653023b668c282e4e02609d131f4057a"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/symfony/process/zipball/009f8dda80930e89e8344a4e310b08f9ff07dd2e",
-            "reference": "009f8dda80930e89e8344a4e310b08f9ff07dd2e",
+            "url": "https://api.github.com/repos/symfony/process/zipball/a9c4dfbf653023b668c282e4e02609d131f4057a",
+            "reference": "a9c4dfbf653023b668c282e4e02609d131f4057a",
             "shasum": ""
         },
         "require": {
             "php": "^5.5.9|>=7.0.8"
         },
-        "time": "2019-01-16T13:27:11+00:00",
+        "time": "2019-04-08T16:15:54+00:00",
         "type": "library",
         "extra": {
             "branch-alias": {
@@ -10380,17 +10420,17 @@
     },
     {
         "name": "symfony/psr-http-message-bridge",
-        "version": "v1.1.1",
-        "version_normalized": "1.1.1.0",
+        "version": "v1.1.2",
+        "version_normalized": "1.1.2.0",
         "source": {
             "type": "git",
             "url": "https://github.com/symfony/psr-http-message-bridge.git",
-            "reference": "921f8669c36ea0148d2520c0bb7838cda14879e0"
+            "reference": "a33352af16f78a5ff4f9d90811536abf210df12b"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/921f8669c36ea0148d2520c0bb7838cda14879e0",
-            "reference": "921f8669c36ea0148d2520c0bb7838cda14879e0",
+            "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/a33352af16f78a5ff4f9d90811536abf210df12b",
+            "reference": "a33352af16f78a5ff4f9d90811536abf210df12b",
             "shasum": ""
         },
         "require": {
@@ -10399,13 +10439,12 @@
             "symfony/http-foundation": "^2.3.42 || ^3.4 || ^4.0"
         },
         "require-dev": {
-            "nyholm/psr7": "^1.1",
             "symfony/phpunit-bridge": "^3.4 || ^4.0"
         },
         "suggest": {
             "nyholm/psr7": "For a super lightweight PSR-7/17 implementation"
         },
-        "time": "2019-03-11T15:23:15+00:00",
+        "time": "2019-04-03T17:09:40+00:00",
         "type": "symfony-bridge",
         "extra": {
             "branch-alias": {
@@ -10446,17 +10485,17 @@
     },
     {
         "name": "symfony/routing",
-        "version": "v3.4.23",
-        "version_normalized": "3.4.23.0",
+        "version": "v3.4.26",
+        "version_normalized": "3.4.26.0",
         "source": {
             "type": "git",
             "url": "https://github.com/symfony/routing.git",
-            "reference": "6b25a86df5860461ff1990946168c0ef944f83db"
+            "reference": "ff11aac46d6cb8a65f2855687bb9a1ac9d860eec"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/symfony/routing/zipball/6b25a86df5860461ff1990946168c0ef944f83db",
-            "reference": "6b25a86df5860461ff1990946168c0ef944f83db",
+            "url": "https://api.github.com/repos/symfony/routing/zipball/ff11aac46d6cb8a65f2855687bb9a1ac9d860eec",
+            "reference": "ff11aac46d6cb8a65f2855687bb9a1ac9d860eec",
             "shasum": ""
         },
         "require": {
@@ -10479,12 +10518,11 @@
         "suggest": {
             "doctrine/annotations": "For using the annotation loader",
             "symfony/config": "For using the all-in-one router or any loader",
-            "symfony/dependency-injection": "For loading routes from a service",
             "symfony/expression-language": "For using expression matching",
             "symfony/http-foundation": "For using a Symfony Request object",
             "symfony/yaml": "For using the YAML loader"
         },
-        "time": "2019-02-23T15:06:07+00:00",
+        "time": "2019-03-29T21:58:42+00:00",
         "type": "library",
         "extra": {
             "branch-alias": {
@@ -10525,17 +10563,17 @@
     },
     {
         "name": "symfony/serializer",
-        "version": "v3.4.23",
-        "version_normalized": "3.4.23.0",
+        "version": "v3.4.26",
+        "version_normalized": "3.4.26.0",
         "source": {
             "type": "git",
             "url": "https://github.com/symfony/serializer.git",
-            "reference": "964b7a59002391136fb0087fd5dc41213f7c283e"
+            "reference": "14b3221cc41dcfef404205f0060cda873f43a534"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/symfony/serializer/zipball/964b7a59002391136fb0087fd5dc41213f7c283e",
-            "reference": "964b7a59002391136fb0087fd5dc41213f7c283e",
+            "url": "https://api.github.com/repos/symfony/serializer/zipball/14b3221cc41dcfef404205f0060cda873f43a534",
+            "reference": "14b3221cc41dcfef404205f0060cda873f43a534",
             "shasum": ""
         },
         "require": {
@@ -10571,7 +10609,7 @@
             "symfony/property-info": "To deserialize relations.",
             "symfony/yaml": "For using the default YAML mapping loader."
         },
-        "time": "2019-02-23T15:06:07+00:00",
+        "time": "2019-04-11T05:44:34+00:00",
         "type": "library",
         "extra": {
             "branch-alias": {
@@ -10606,17 +10644,17 @@
     },
     {
         "name": "symfony/translation",
-        "version": "v3.4.23",
-        "version_normalized": "3.4.23.0",
+        "version": "v3.4.26",
+        "version_normalized": "3.4.26.0",
         "source": {
             "type": "git",
             "url": "https://github.com/symfony/translation.git",
-            "reference": "3e2966209567ffed8825905b53fc8548446130aa"
+            "reference": "aae26f143da71adc8707eb489f1dc86aef7d376b"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/symfony/translation/zipball/3e2966209567ffed8825905b53fc8548446130aa",
-            "reference": "3e2966209567ffed8825905b53fc8548446130aa",
+            "url": "https://api.github.com/repos/symfony/translation/zipball/aae26f143da71adc8707eb489f1dc86aef7d376b",
+            "reference": "aae26f143da71adc8707eb489f1dc86aef7d376b",
             "shasum": ""
         },
         "require": {
@@ -10633,7 +10671,9 @@
             "symfony/config": "~2.8|~3.0|~4.0",
             "symfony/dependency-injection": "~3.4|~4.0",
             "symfony/finder": "~2.8|~3.0|~4.0",
+            "symfony/http-kernel": "~3.4|~4.0",
             "symfony/intl": "^2.8.18|^3.2.5|~4.0",
+            "symfony/var-dumper": "~3.4|~4.0",
             "symfony/yaml": "~3.4|~4.0"
         },
         "suggest": {
@@ -10641,7 +10681,7 @@
             "symfony/config": "",
             "symfony/yaml": ""
         },
-        "time": "2019-02-23T15:06:07+00:00",
+        "time": "2019-04-10T16:00:48+00:00",
         "type": "library",
         "extra": {
             "branch-alias": {
@@ -10676,17 +10716,17 @@
     },
     {
         "name": "symfony/validator",
-        "version": "v3.4.23",
-        "version_normalized": "3.4.23.0",
+        "version": "v3.4.26",
+        "version_normalized": "3.4.26.0",
         "source": {
             "type": "git",
             "url": "https://github.com/symfony/validator.git",
-            "reference": "21f8a7da6d4d8e6e34bd4e2bfaa24fa373886907"
+            "reference": "83da5259779aaf9dde220130e62b785f74e2ac49"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/symfony/validator/zipball/21f8a7da6d4d8e6e34bd4e2bfaa24fa373886907",
-            "reference": "21f8a7da6d4d8e6e34bd4e2bfaa24fa373886907",
+            "url": "https://api.github.com/repos/symfony/validator/zipball/83da5259779aaf9dde220130e62b785f74e2ac49",
+            "reference": "83da5259779aaf9dde220130e62b785f74e2ac49",
             "shasum": ""
         },
         "require": {
@@ -10728,7 +10768,7 @@
             "symfony/property-access": "For accessing properties within comparison constraints",
             "symfony/yaml": ""
         },
-        "time": "2019-02-25T09:32:21+00:00",
+        "time": "2019-04-16T11:21:44+00:00",
         "type": "library",
         "extra": {
             "branch-alias": {
@@ -10834,17 +10874,17 @@
     },
     {
         "name": "symfony/yaml",
-        "version": "v3.4.23",
-        "version_normalized": "3.4.23.0",
+        "version": "v3.4.26",
+        "version_normalized": "3.4.26.0",
         "source": {
             "type": "git",
             "url": "https://github.com/symfony/yaml.git",
-            "reference": "57f1ce82c997f5a8701b89ef970e36bb657fd09c"
+            "reference": "212a27b731e5bfb735679d1ffaac82bd6a1dc996"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/symfony/yaml/zipball/57f1ce82c997f5a8701b89ef970e36bb657fd09c",
-            "reference": "57f1ce82c997f5a8701b89ef970e36bb657fd09c",
+            "url": "https://api.github.com/repos/symfony/yaml/zipball/212a27b731e5bfb735679d1ffaac82bd6a1dc996",
+            "reference": "212a27b731e5bfb735679d1ffaac82bd6a1dc996",
             "shasum": ""
         },
         "require": {
@@ -10860,7 +10900,7 @@
         "suggest": {
             "symfony/console": "For validating YAML files using the lint command"
         },
-        "time": "2019-02-23T15:06:07+00:00",
+        "time": "2019-03-25T07:48:46+00:00",
         "type": "library",
         "extra": {
             "branch-alias": {
@@ -10952,17 +10992,17 @@
     },
     {
         "name": "twig/twig",
-        "version": "v1.38.2",
-        "version_normalized": "1.38.2.0",
+        "version": "v1.39.1",
+        "version_normalized": "1.39.1.0",
         "source": {
             "type": "git",
             "url": "https://github.com/twigphp/Twig.git",
-            "reference": "874adbd9222f928f6998732b25b01b41dff15b0c"
+            "reference": "23e7b6f0cfa1d7ba3de69f30d8e05cf957412fec"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/twigphp/Twig/zipball/874adbd9222f928f6998732b25b01b41dff15b0c",
-            "reference": "874adbd9222f928f6998732b25b01b41dff15b0c",
+            "url": "https://api.github.com/repos/twigphp/Twig/zipball/23e7b6f0cfa1d7ba3de69f30d8e05cf957412fec",
+            "reference": "23e7b6f0cfa1d7ba3de69f30d8e05cf957412fec",
             "shasum": ""
         },
         "require": {
@@ -10974,11 +11014,11 @@
             "symfony/debug": "^2.7",
             "symfony/phpunit-bridge": "^3.4.19|^4.1.8"
         },
-        "time": "2019-03-12T18:45:24+00:00",
+        "time": "2019-04-16T17:12:57+00:00",
         "type": "library",
         "extra": {
             "branch-alias": {
-                "dev-master": "1.38-dev"
+                "dev-master": "1.39-dev"
             }
         },
         "installation-source": "dist",
@@ -11020,26 +11060,29 @@
     },
     {
         "name": "typo3/phar-stream-wrapper",
-        "version": "v2.0.1",
-        "version_normalized": "2.0.1.0",
+        "version": "v2.1.0",
+        "version_normalized": "2.1.0.0",
         "source": {
             "type": "git",
             "url": "https://github.com/TYPO3/phar-stream-wrapper.git",
-            "reference": "0469d9fefa0146ea4299d3b11cfbb76faa7045bf"
+            "reference": "b7a21f0859059ed5d9754af8c11f852d43762334"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/TYPO3/phar-stream-wrapper/zipball/0469d9fefa0146ea4299d3b11cfbb76faa7045bf",
-            "reference": "0469d9fefa0146ea4299d3b11cfbb76faa7045bf",
+            "url": "https://api.github.com/repos/TYPO3/phar-stream-wrapper/zipball/b7a21f0859059ed5d9754af8c11f852d43762334",
+            "reference": "b7a21f0859059ed5d9754af8c11f852d43762334",
             "shasum": ""
         },
         "require": {
+            "brumann/polyfill-unserialize": "^1.0",
+            "ext-fileinfo": "*",
+            "ext-json": "*",
             "php": "^5.3.3|^7.0"
         },
         "require-dev": {
             "phpunit/phpunit": "^4.8.36"
         },
-        "time": "2018-10-18T08:46:28+00:00",
+        "time": "2019-03-01T17:43:52+00:00",
         "type": "library",
         "installation-source": "dist",
         "autoload": {
diff --git a/vendor/symfony/console/Helper/QuestionHelper.php b/vendor/symfony/console/Helper/QuestionHelper.php
index 9c200fe897ea9f7a001097d7e895f58437db0d97..677aa764d4a0f5efa51131e089a2f062815791f5 100644
--- a/vendor/symfony/console/Helper/QuestionHelper.php
+++ b/vendor/symfony/console/Helper/QuestionHelper.php
@@ -49,7 +49,13 @@ public function ask(InputInterface $input, OutputInterface $output, Question $qu
         if (!$input->isInteractive()) {
             $default = $question->getDefault();
 
-            if (null !== $default && $question instanceof ChoiceQuestion) {
+            if (null === $default) {
+                return $default;
+            }
+
+            if ($validator = $question->getValidator()) {
+                return \call_user_func($question->getValidator(), $default);
+            } elseif ($question instanceof ChoiceQuestion) {
                 $choices = $question->getChoices();
 
                 if (!$question->isMultiselect()) {
@@ -254,6 +260,7 @@ private function autocomplete(OutputInterface $output, Question $question, $inpu
 
             // as opposed to fgets(), fread() returns an empty string when the stream content is empty, not false.
             if (false === $c || ('' === $ret && '' === $c && null === $question->getDefault())) {
+                shell_exec(sprintf('stty %s', $sttyMode));
                 throw new RuntimeException('Aborted.');
             } elseif ("\177" === $c) { // Backspace Character
                 if (0 === $numMatches && 0 !== $i) {
diff --git a/vendor/symfony/console/Tester/CommandTester.php b/vendor/symfony/console/Tester/CommandTester.php
index f869995eb92d6623ceda0f83b24c4aa82de2c020..a1d8ad70a12486e413ba0a662234d77023549aca 100644
--- a/vendor/symfony/console/Tester/CommandTester.php
+++ b/vendor/symfony/console/Tester/CommandTester.php
@@ -87,6 +87,10 @@ public function execute(array $input, array $options = [])
      */
     public function getDisplay($normalize = false)
     {
+        if (null === $this->output) {
+            throw new \RuntimeException('Output not initialized, did you execute the command before requesting the display?');
+        }
+
         rewind($this->output->getStream());
 
         $display = stream_get_contents($this->output->getStream());
diff --git a/vendor/symfony/console/Tests/ApplicationTest.php b/vendor/symfony/console/Tests/ApplicationTest.php
index ae9d130f502ab1eb3db112ae76a5ae8e6da77e49..200568f0701d7f85bbebdb4f6eef0a8b3d73169e 100644
--- a/vendor/symfony/console/Tests/ApplicationTest.php
+++ b/vendor/symfony/console/Tests/ApplicationTest.php
@@ -41,6 +41,21 @@ class ApplicationTest extends TestCase
 {
     protected static $fixturesPath;
 
+    private $colSize;
+
+    protected function setUp()
+    {
+        $this->colSize = getenv('COLUMNS');
+    }
+
+    protected function tearDown()
+    {
+        putenv($this->colSize ? 'COLUMNS='.$this->colSize : 'COLUMNS');
+        putenv('SHELL_VERBOSITY');
+        unset($_ENV['SHELL_VERBOSITY']);
+        unset($_SERVER['SHELL_VERBOSITY']);
+    }
+
     public static function setUpBeforeClass()
     {
         self::$fixturesPath = realpath(__DIR__.'/Fixtures/');
@@ -383,6 +398,7 @@ public function testFindWithCommandLoader()
      */
     public function testFindWithAmbiguousAbbreviations($abbreviation, $expectedExceptionMessage)
     {
+        putenv('COLUMNS=120');
         if (method_exists($this, 'expectException')) {
             $this->expectException('Symfony\Component\Console\Exception\CommandNotFoundException');
             $this->expectExceptionMessage($expectedExceptionMessage);
@@ -468,6 +484,7 @@ public function provideInvalidCommandNamesSingle()
 
     public function testFindAlternativeExceptionMessageMultiple()
     {
+        putenv('COLUMNS=120');
         $application = new Application();
         $application->add(new \FooCommand());
         $application->add(new \Foo1Command());
@@ -1689,13 +1706,6 @@ public function testErrorIsRethrownIfNotHandledByConsoleErrorEventWithCatchingEn
             $this->assertSame($e->getMessage(), 'Class \'UnknownClass\' not found');
         }
     }
-
-    protected function tearDown()
-    {
-        putenv('SHELL_VERBOSITY');
-        unset($_ENV['SHELL_VERBOSITY']);
-        unset($_SERVER['SHELL_VERBOSITY']);
-    }
 }
 
 class CustomApplication extends Application
diff --git a/vendor/symfony/console/Tests/Helper/ProgressBarTest.php b/vendor/symfony/console/Tests/Helper/ProgressBarTest.php
index e352311ccad0976375662ff0580845cdf5794a5f..a0be9b8a6d94d9501a35fe536f853a1fd1e31aba 100644
--- a/vendor/symfony/console/Tests/Helper/ProgressBarTest.php
+++ b/vendor/symfony/console/Tests/Helper/ProgressBarTest.php
@@ -21,6 +21,19 @@
  */
 class ProgressBarTest extends TestCase
 {
+    private $colSize;
+
+    protected function setUp()
+    {
+        $this->colSize = getenv('COLUMNS');
+        putenv('COLUMNS=120');
+    }
+
+    protected function tearDown()
+    {
+        putenv($this->colSize ? 'COLUMNS='.$this->colSize : 'COLUMNS');
+    }
+
     public function testMultipleStart()
     {
         $bar = new ProgressBar($output = $this->getOutputStream());
diff --git a/vendor/symfony/console/Tests/Helper/QuestionHelperTest.php b/vendor/symfony/console/Tests/Helper/QuestionHelperTest.php
index 46cfe8184278dc3d375199bfa909d7e2730f4168..56ba1c6891322c3c5f5ba3d2139ef413fefcfdc1 100644
--- a/vendor/symfony/console/Tests/Helper/QuestionHelperTest.php
+++ b/vendor/symfony/console/Tests/Helper/QuestionHelperTest.php
@@ -137,6 +137,9 @@ public function testAskChoiceNonInteractive()
         $question->setMultiselect(true);
         $this->assertNull($questionHelper->ask($this->createStreamableInputInterfaceMock($inputStream, false), $this->createOutputInterface(), $question));
 
+        $question = new ChoiceQuestion('Who are your favorite superheros?', ['a' => 'Batman', 'b' => 'Superman'], 'a');
+        $this->assertSame('a', $questionHelper->ask($this->createStreamableInputInterfaceMock('', false), $this->createOutputInterface(), $question), 'ChoiceQuestion validator returns the key if it\'s a string');
+
         try {
             $question = new ChoiceQuestion('Who are your favorite superheros?', $heroes, '');
             $question->setMultiselect(true);
diff --git a/vendor/symfony/console/Tests/Style/SymfonyStyleTest.php b/vendor/symfony/console/Tests/Style/SymfonyStyleTest.php
index e6e061f4416b6ca0ab859973cd78087e6248aa0b..88d00c8a9926b82d414b6cc0eb20e9b6ef63eded 100644
--- a/vendor/symfony/console/Tests/Style/SymfonyStyleTest.php
+++ b/vendor/symfony/console/Tests/Style/SymfonyStyleTest.php
@@ -26,9 +26,11 @@ class SymfonyStyleTest extends TestCase
     protected $command;
     /** @var CommandTester */
     protected $tester;
+    private $colSize;
 
     protected function setUp()
     {
+        $this->colSize = getenv('COLUMNS');
         putenv('COLUMNS=121');
         $this->command = new Command('sfstyle');
         $this->tester = new CommandTester($this->command);
@@ -36,7 +38,7 @@ protected function setUp()
 
     protected function tearDown()
     {
-        putenv('COLUMNS');
+        putenv($this->colSize ? 'COLUMNS='.$this->colSize : 'COLUMNS');
         $this->command = null;
         $this->tester = null;
     }
diff --git a/vendor/symfony/console/Tests/TerminalTest.php b/vendor/symfony/console/Tests/TerminalTest.php
index 91af1d0ab459d38b46186dbc728d8c786fb58443..93b8c44a78158265ce3f207651de56a1cfb2b7c0 100644
--- a/vendor/symfony/console/Tests/TerminalTest.php
+++ b/vendor/symfony/console/Tests/TerminalTest.php
@@ -16,6 +16,21 @@
 
 class TerminalTest extends TestCase
 {
+    private $colSize;
+    private $lineSize;
+
+    protected function setUp()
+    {
+        $this->colSize = getenv('COLUMNS');
+        $this->lineSize = getenv('LINES');
+    }
+
+    protected function tearDown()
+    {
+        putenv($this->colSize ? 'COLUMNS='.$this->colSize : 'COLUMNS');
+        putenv($this->lineSize ? 'LINES' : 'LINES='.$this->lineSize);
+    }
+
     public function test()
     {
         putenv('COLUMNS=100');
diff --git a/vendor/symfony/debug/DebugClassLoader.php b/vendor/symfony/debug/DebugClassLoader.php
index 310f7d4e2247c2b0a291a500f0f456d24f201036..b728b9b90fee26e3e7ef333cc1ea7123c97883cd 100644
--- a/vendor/symfony/debug/DebugClassLoader.php
+++ b/vendor/symfony/debug/DebugClassLoader.php
@@ -233,7 +233,7 @@ public function checkAnnotations(\ReflectionClass $refl, $class)
         // Detect annotations on the class
         if (false !== $doc = $refl->getDocComment()) {
             foreach (['final', 'deprecated', 'internal'] as $annotation) {
-                if (false !== \strpos($doc, $annotation) && preg_match('#\n\s+\* @'.$annotation.'(?:( .+?)\.?)?\r?\n\s+\*(?: @|/$)#s', $doc, $notice)) {
+                if (false !== \strpos($doc, $annotation) && preg_match('#\n\s+\* @'.$annotation.'(?:( .+?)\.?)?\r?\n\s+\*(?: @|/$|\r?\n)#s', $doc, $notice)) {
                     self::${$annotation}[$class] = isset($notice[1]) ? preg_replace('#\.?\r?\n( \*)? *(?= |\r?\n|$)#', '', $notice[1]) : '';
                 }
             }
@@ -258,7 +258,7 @@ public function checkAnnotations(\ReflectionClass $refl, $class)
             if (!isset(self::$checkedClasses[$use])) {
                 $this->checkClass($use);
             }
-            if (isset(self::$deprecated[$use]) && \strncmp($ns, \str_replace('_', '\\', $use), $len)) {
+            if (isset(self::$deprecated[$use]) && \strncmp($ns, \str_replace('_', '\\', $use), $len) && !isset(self::$deprecated[$class])) {
                 $type = class_exists($class, false) ? 'class' : (interface_exists($class, false) ? 'interface' : 'trait');
                 $verb = class_exists($use, false) || interface_exists($class, false) ? 'extends' : (interface_exists($use, false) ? 'implements' : 'uses');
 
@@ -307,7 +307,7 @@ public function checkAnnotations(\ReflectionClass $refl, $class)
             }
 
             foreach (['final', 'internal'] as $annotation) {
-                if (false !== \strpos($doc, $annotation) && preg_match('#\n\s+\* @'.$annotation.'(?:( .+?)\.?)?\r?\n\s+\*(?: @|/$)#s', $doc, $notice)) {
+                if (false !== \strpos($doc, $annotation) && preg_match('#\n\s+\* @'.$annotation.'(?:( .+?)\.?)?\r?\n\s+\*(?: @|/$|\r?\n)#s', $doc, $notice)) {
                     $message = isset($notice[1]) ? preg_replace('#\.?\r?\n( \*)? *(?= |\r?\n|$)#', '', $notice[1]) : '';
                     self::${$annotation.'Methods'}[$class][$method->name] = [$class, $message];
                 }
diff --git a/vendor/symfony/debug/ExceptionHandler.php b/vendor/symfony/debug/ExceptionHandler.php
index 2f3d56601271c6e7d1ee72888855cb1a57d0515b..b79e83ea2c9bf21a54f2d5b689cc8ccfb14e58ad 100644
--- a/vendor/symfony/debug/ExceptionHandler.php
+++ b/vendor/symfony/debug/ExceptionHandler.php
@@ -372,7 +372,7 @@ private function formatPath($path, $line)
         $fmt = $this->fileLinkFormat ?: ini_get('xdebug.file_link_format') ?: get_cfg_var('xdebug.file_link_format');
 
         if (!$fmt) {
-            return sprintf('<span class="block trace-file-path">in <a title="%s%3$s"><strong>%s</strong>%s</a></span>', $this->escapeHtml($path), $file, 0 < $line ? ' line '.$line : '');
+            return sprintf('<span class="block trace-file-path">in <span title="%s%3$s"><strong>%s</strong>%s</span></span>', $this->escapeHtml($path), $file, 0 < $line ? ' line '.$line : '');
         }
 
         if (\is_string($fmt)) {
@@ -388,7 +388,11 @@ private function formatPath($path, $line)
 
             $link = strtr($fmt[0], ['%f' => $path, '%l' => $line]);
         } else {
-            $link = $fmt->format($path, $line);
+            try {
+                $link = $fmt->format($path, $line);
+            } catch (\Exception $e) {
+                return sprintf('<span class="block trace-file-path">in <span title="%s%3$s"><strong>%s</strong>%s</span></span>', $this->escapeHtml($path), $file, 0 < $line ? ' line '.$line : '');
+            }
         }
 
         return sprintf('<span class="block trace-file-path">in <a href="%s" title="Go to source"><strong>%s</string>%s</a></span>', $this->escapeHtml($link), $file, 0 < $line ? ' line '.$line : '');
@@ -435,6 +439,6 @@ private function escapeHtml($str)
 
     private function getSymfonyGhostAsSvg()
     {
-        return '<svg viewBox="0 0 136 81" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M92.358 20.403a23.168 23.168 0 0 1 9.003 1.881 23.67 23.67 0 0 1 5.197 3.079 24.257 24.257 0 0 1 3.457 3.296 24.771 24.771 0 0 1 5.042 9.396c.486 1.72.78 3.492.895 5.28l.008.142.028.158.015.246v13.875c.116.034.232.065.348.098.193.054.383.116.577.168.487.125.989.191 1.49.215.338.016.689.023 1.021-.059.021-.005.032-.029.048-.044l.095-.1c.243-.265.461-.552.663-.851.277-.408.523-.837.746-1.279l.042-.087c-.066-.012-.131-.026-.197-.04l-.099-.023a5.536 5.536 0 0 1-.694-.242 5.649 5.649 0 0 1-2.374-1.845 5.694 5.694 0 0 1-.824-1.594 6.514 6.514 0 0 1-.267-2.781c.045-.394.126-.779.233-1.159.079-.278.162-.562.307-.812.094-.163.129-.196.247-.341l.79-.882c.143-.143.174-.186.34-.303.249-.174.536-.289.834-.333.074-.011.15-.014.224-.02l1.188-.037c.173.004.217-.002.388.028s.211.05.375.105l.018.007c.059.026.119.05.176.079.151.076.179.104.313.2l.006-.021c.073-.187.084-.238.187-.41.077-.129.167-.249.27-.357.051-.054.108-.103.162-.154l1.124-.95c.14-.107.172-.14.327-.224.155-.085.199-.094.363-.154l.019-.006c.169-.043.211-.06.385-.077.174-.016.218-.007.392.003l1.446.158c.193.033.244.033.43.098.278.097.534.259.744.47.053.053.1.112.149.167l.923 1.158.149.213.028.054.017-.014.184-.125c.196-.104.196-.104.402-.184l1.386-.451c.064-.018.126-.038.19-.052.129-.028.259-.042.39-.043.16-.002.321.017.478.047.364.069.711.21 1.032.396.162.094.316.199.469.308.088.063.176.132.27.188l.021.011c.19.123.245.146.409.305.185.178.336.393.443.63.035.079.061.162.091.243l.439 1.428c.045.175.062.219.081.4.02.193.006.381-.015.573a7.79 7.79 0 0 1-.101.645c-.09.455-.212.901-.365 1.339-.128.366-.273.73-.445 1.077-.658 1.335-1.652 2.512-2.917 3.265a6.399 6.399 0 0 1-1.019.489 6.097 6.097 0 0 1-.631.203c-.226.058-.455.1-.686.134l-.096.012-.061.007c-.01.176-.022.352-.036.528-.034.39-.082.778-.153 1.163a14.258 14.258 0 0 1-.574 2.114c-.229.654-.484 1.306-.806 1.918a9.16 9.16 0 0 1-.386.656c-.219.348-.451.686-.697 1.013-.448.594-.946 1.148-1.521 1.614-.255.207-.52.397-.808.553-.9.489-1.919.648-2.921.735-.493.038-.986.059-1.478.099-.162.015-.324.033-.486.049-.145.011-.289.022-.434.03a15.768 15.768 0 0 1-2.778-.118c0 1.416.007 2.832-.001 4.248a9.737 9.737 0 0 1-.684 3.479 9.615 9.615 0 0 1-1.72 2.804 9.326 9.326 0 0 1-3.04 2.279 9.046 9.046 0 0 1-5.33.715 9.064 9.064 0 0 1-2.988-1.079 9.363 9.363 0 0 1-2.761-2.429 10.078 10.078 0 0 1-1.05 1.16 9.281 9.281 0 0 1-1.871 1.358 9.033 9.033 0 0 1-2.495.926 9.04 9.04 0 0 1-6.462-1.072 9.395 9.395 0 0 1-2.602-2.292l-.062-.08a10.896 10.896 0 0 1-.53.635 9.266 9.266 0 0 1-2.671 2.032 9.028 9.028 0 0 1-6.044.751 9.048 9.048 0 0 1-2.436-.934 9.343 9.343 0 0 1-2.286-1.803 9.572 9.572 0 0 1-1.783-2.757 9.705 9.705 0 0 1-.773-3.693V67.244c-.157.024-.314.047-.472.067-.487.06-.977.103-1.469.109-.313.004-.627-.009-.94-.028-.426-.025-.85-.065-1.273-.125-1.833-.264-3.65-.92-5.109-2.117a8.172 8.172 0 0 1-1.064-1.049 10.155 10.155 0 0 1-.878-1.236 15.277 15.277 0 0 1-.7-1.274 20.835 20.835 0 0 1-1.889-6.194l-.018-.142-.008-.061a6.47 6.47 0 0 1-.99-.297 6.135 6.135 0 0 1-.61-.285 6.587 6.587 0 0 1-.889-.562c-1.228-.924-2.124-2.259-2.668-3.711a9.947 9.947 0 0 1-.307-.99 10.288 10.288 0 0 1-.318-1.923c-.009-.147-.011-.293-.015-.44v-.037c.008-.175.004-.22.037-.393.033-.173.053-.213.11-.378l.561-1.417c.031-.068.06-.139.095-.206a2.028 2.028 0 0 1 .771-.803c.093-.054.194-.095.289-.145l.311-.179c.352-.194.714-.358 1.107-.44.213-.044.426-.061.643-.061l.034.001c.177.014.223.01.396.052.174.041.214.065.379.132l1.347.635c.073.04.15.076.221.121.142.091.272.2.388.325.154.166.176.222.297.414l.022.047.722-.762.168-.158c.165-.122.202-.161.385-.253.206-.102.429-.168.656-.193.076-.008.152-.008.228-.011l1.46.013c.177.011.223.007.397.046.175.038.215.061.381.126l.018.008c.154.08.196.094.338.196.142.102.169.137.294.259l.853.912.152-.067.191-.063.019-.005.196-.042c.177-.019.222-.031.401-.022.066.003.133.013.199.02l1.185.182c.073.016.147.027.219.047.288.08.558.227.784.428.151.135.177.181.303.339l.714 1.004c.097.152.127.187.201.352.077.172.123.352.164.536.029.134.056.269.08.404.063.361.102.725.112 1.091.021.78-.08 1.566-.321 2.307a5.906 5.906 0 0 1-.532 1.183 5.463 5.463 0 0 1-3.257 2.489l-.03.008c.195.584.433 1.155.712 1.701.215.422.453.833.735 1.211.026.035.026.034.053.068l.058.072c.056.024.113.042.171.06.319.09.653.121.982.14.488.027.978.013 1.461-.06.167-.028.333-.062.499-.089.134-.022.267-.042.401-.066l.28-.056c.154-.023.308-.049.462-.076l.115-.021V43.881c.011-.203.006-.203.042-.404a26.66 26.66 0 0 1 .226-2.241 24.737 24.737 0 0 1 5.72-12.577 24.204 24.204 0 0 1 3.457-3.296 23.653 23.653 0 0 1 4.937-2.966 23.215 23.215 0 0 1 5.604-1.681 23.703 23.703 0 0 1 3.958-.313zm-.287 2.042a21.169 21.169 0 0 0-8.012 1.622 21.636 21.636 0 0 0-4.799 2.766 22.233 22.233 0 0 0-3.205 2.985 22.705 22.705 0 0 0-4.897 9.196 23.383 23.383 0 0 0-.737 4.867h-.025v15.744c-.258.053-.258.052-.517.101-.28.051-.56.1-.841.144-.211.04-.421.079-.632.115l-.232.037-.411.078c-.116.02-.233.035-.348.057-.305.056-.609.11-.917.14a9.929 9.929 0 0 1-1.883-.017c-.514-.056-1.044-.155-1.51-.397a1.762 1.762 0 0 1-.33-.218 1.925 1.925 0 0 1-.234-.252 5.248 5.248 0 0 1-.174-.22 8.97 8.97 0 0 1-.582-.883 13.806 13.806 0 0 1-.941-1.971 14.348 14.348 0 0 1-.608-1.954 14.04 14.04 0 0 1-.169-.86l-.015-.11-.015-.109c.161-.007.16-.007.321-.016a12.793 12.793 0 0 0 1.413-.182 4.43 4.43 0 0 0 .28-.074 3.56 3.56 0 0 0 1.199-.616c.309-.244.576-.543.786-.88.163-.261.292-.544.387-.838.123-.378.192-.774.214-1.172a5.102 5.102 0 0 0-.024-.865 7.192 7.192 0 0 0-.145-.799l-.714-1.005-1.184-.182-.019.005-.946.758-.12 1.229a4.953 4.953 0 0 1 .111.455c.032.181.052.36.043.544a1.04 1.04 0 0 1-.056.303c-.11.301-.419.451-.696.548-.402.142-.813.25-1.229.339l.07-.648c.022-.191.047-.381.08-.57.036-.207.079-.413.152-.61.077-.211.182-.412.296-.605.044-.074.092-.146.135-.222.029-.048.031-.047.055-.098.016-.033.031-.064.045-.098l-.026-1.551-1.042-1.116-.018-.008-1.459-.014-1.022 1.079c-.049.128-.08.258-.111.393a5.274 5.274 0 0 0-.1.651 5.55 5.55 0 0 0-.031.466c-.009.687.104 1.37.294 2.028.11.382.262.753.402 1.123-.115-.029-.228-.06-.342-.092a9.526 9.526 0 0 1-1.176-.446c-.108-.05-.111-.048-.191-.097a1.921 1.921 0 0 1-.327-.249c-.416-.4-.589-.986-.671-1.55a5.643 5.643 0 0 1-.057-.549c-.007-.143-.006-.286-.007-.429-.001-.186.005-.372.011-.558l.001-.039-.567-1.446-1.347-.634c-.316-.008-.599.144-.867.299-.109.063-.218.126-.33.185a2.058 2.058 0 0 1-.125.061l-.042.019-.561 1.416c0 .209.014.416.036.624.04.377.106.75.196 1.118.076.309.164.616.275.913.415 1.109 1.093 2.146 2.043 2.838.234.171.485.317.746.442.183.088.371.161.565.22.263.079.532.13.803.17.296.045.594.075.892.095l.108.007c.004.151.01.302.017.453.011.177.023.353.038.529a18.13 18.13 0 0 0 .762 3.752c.239.76.522 1.505.857 2.225.23.494.483.977.767 1.44.288.469.608.915.989 1.308 1.001 1.028 2.324 1.648 3.687 1.976.643.155 1.298.243 1.955.287.311.021.622.036.933.033.418-.006.835-.041 1.25-.094.238-.03.477-.064.713-.11.117-.023.232-.053.348-.081.196-.048.392-.097.586-.151.147-.041.291-.094.436-.144.204-.069.408-.139.608-.217l.006-.003c0 2.207-.013 4.414.001 6.62a7.942 7.942 0 0 0 .13 1.32 7.545 7.545 0 0 0 2.383 4.243 7.23 7.23 0 0 0 2.258 1.372 7.094 7.094 0 0 0 7.012-1.164 7.504 7.504 0 0 0 2.035-2.613 7.727 7.727 0 0 0 .676-2.401l.009-.088.038-.765a8.16 8.16 0 0 0 .113 1.324c.121.694.338 1.37.643 2.001a7.49 7.49 0 0 0 1.692 2.275 7.266 7.266 0 0 0 2.24 1.399 7.11 7.11 0 0 0 4.615.19 7.212 7.212 0 0 0 2.351-1.218 7.501 7.501 0 0 0 2.128-2.64 7.763 7.763 0 0 0 .702-2.39l.01-.088.009-.088.038-.765a9.339 9.339 0 0 0 .021.575 7.626 7.626 0 0 0 .621 2.504 7.507 7.507 0 0 0 2.35 2.972 7.1 7.1 0 0 0 7.026.881 7.275 7.275 0 0 0 2.268-1.515 7.525 7.525 0 0 0 1.612-2.338 7.58 7.58 0 0 0 .572-2.033c.048-.347.069-.696.071-1.046v-6.721c.136.051.271.101.408.148a12.153 12.153 0 0 0 1.976.443c.264.035.529.055.794.071.33.02.66.031.991.027.245-.002.49-.012.735-.031.245-.018.49-.048.735-.068.407-.03.814-.051 1.221-.079a9.493 9.493 0 0 0 1.384-.188c.315-.073.626-.174.912-.329a3.53 3.53 0 0 0 .586-.418c.46-.386.85-.85 1.205-1.337a12.178 12.178 0 0 0 .801-1.246c.122-.232.229-.471.33-.712a15.873 15.873 0 0 0 .681-1.988c.136-.525.23-1.058.282-1.598.035-.41.052-.822.088-1.232.03-.317.078-.632.121-.947l.018-.145.016-.145c.144.009.287.016.431.021.459.009.924.007 1.378-.07a4.456 4.456 0 0 0 1.353-.482c.989-.55 1.752-1.466 2.258-2.488.116-.235.214-.48.304-.727a7.58 7.58 0 0 0 .377-1.43c.016-.109.027-.218.039-.328l.001-.009-.438-1.428a5.206 5.206 0 0 1-.16-.096c-.158-.105-.311-.219-.467-.326a3.829 3.829 0 0 0-.159-.1 1.356 1.356 0 0 0-.509-.18l-.01-.001-1.386.452-.681 1.323c-.016.212-.023.424-.043.636a5.66 5.66 0 0 1-.139.873c-.118.494-.316.999-.702 1.338a1.865 1.865 0 0 1-.496.301l-.272.087a9.57 9.57 0 0 1-.83.205 8.797 8.797 0 0 1-.582.091l.229-.462c.079-.163.158-.325.229-.492.051-.118.096-.239.139-.36.036-.103.076-.209.103-.315.019-.075.031-.153.041-.229.017-.132.031-.263.043-.395.035-.368.06-.737.094-1.104.02-.187.048-.372.067-.559.015-.167.015-.336.012-.505a4.76 4.76 0 0 0-.074-.826c-.012-.065-.03-.13-.045-.194l-.003-.009-.923-1.157-1.446-.159-.019.006-1.124.95-.154 1.489c.011.034.024.066.037.099.044.115.107.221.161.331.046.096.088.193.13.29l.031.076c.013.033.017.07.023.105.012.096.022.191.031.287.031.364.047.73.081 1.093.013.102.028.202.04.303.014.145.027.29.033.435.014.28.016.561.023.841a9.588 9.588 0 0 1-.862-.323c-.063-.027-.128-.062-.193-.084a1.325 1.325 0 0 0-.067-.013c-.081-.01-.162-.017-.243-.025-.245-.02-.49-.037-.734-.061-.066-.007-.132-.014-.198-.028l-.017-.005c-.03-.013-.029-.014-.067-.038a1.614 1.614 0 0 1-.161-.108.863.863 0 0 1-.22-.242c-.089-.155-.102-.34-.09-.517.02-.299.117-.591.228-.866l.004-.009-.018-1.197-.874-.84-.018-.007-1.188.036-.79.882c-.037.112-.074.224-.106.338a4.756 4.756 0 0 0-.171 1.906c.039.329.115.654.233.963a3.542 3.542 0 0 0 1.263 1.636c.313.222.659.393 1.019.517.237.082.487.111.734.145.479.06.959.106 1.438.166.121.017.241.037.362.058l.158.026a12.12 12.12 0 0 1-.923 2.565 13.221 13.221 0 0 1-.829 1.474 9.474 9.474 0 0 1-.984 1.286c-.08.087-.163.17-.248.252a1.655 1.655 0 0 1-.329.262 2.376 2.376 0 0 1-.722.247c-.457.089-.927.093-1.39.071-.391-.018-.781-.06-1.168-.123a7.817 7.817 0 0 1-.609-.124c-.226-.056-.448-.124-.671-.191-.065-.019-.131-.035-.197-.054a14.75 14.75 0 0 1-.543-.165 23.384 23.384 0 0 1-.453-.128c-.196-.059-.195-.059-.39-.12l-.276-.077V43.881h-.025a34.633 34.633 0 0 0-.031-.557 23.606 23.606 0 0 0-.4-2.994 22.743 22.743 0 0 0-1.492-4.708 22.567 22.567 0 0 0-4.593-6.748 21.865 21.865 0 0 0-6.882-4.706 21.175 21.175 0 0 0-8.115-1.722l-.411-.001zm9.15 33.69c.109.015.214.038.315.085a1.012 1.012 0 0 1 .574.771c.021.132.013.268.009.4a8.38 8.38 0 0 1-.026.476 8.767 8.767 0 0 1-1.564 4.282c-.306.437-.65.846-1.024 1.222a10.09 10.09 0 0 1-4.612 2.627c-1.32.343-2.704.427-4.055.254a10.422 10.422 0 0 1-2.67-.709 9.917 9.917 0 0 1-3.57-2.503 9.312 9.312 0 0 1-.775-.984 8.933 8.933 0 0 1-.731-1.288 8.648 8.648 0 0 1-.795-3.377c-.003-.104-.008-.211 0-.316a1.042 1.042 0 0 1 .254-.609.98.98 0 0 1 1.337-.125 1.023 1.023 0 0 1 .385.719c.007.151.006.303.014.454a6.547 6.547 0 0 0 .524 2.217c.257.595.599 1.15 1.006 1.648.325.398.691.759 1.087 1.081.312.253.642.482.987.684 2.592 1.522 5.945 1.538 8.553.047a7.982 7.982 0 0 0 1.069-.731 7.619 7.619 0 0 0 1.142-1.15 6.949 6.949 0 0 0 1.018-1.741 6.538 6.538 0 0 0 .467-2.425l.004-.084a1.012 1.012 0 0 1 .672-.876c.08-.028.158-.04.241-.05.082-.003.082-.003.164.001zm-70.51-12.426c-15.5.93-28.544-5.922-30.126-16.443C-1.156 15.689 11.64 4.024 29.14 1.235c17.501-2.79 33.123 4.345 34.864 15.922 1.575 10.475-8.749 21.021-23.691 25.001l.001.099a31.185 31.185 0 0 0 .042.833c.007.094.019.188.021.282.006.178.013.356.024.534.011.16.024.32.039.48.017.154.038.306.058.459.036.273.077.544.144.811a4.723 4.723 0 0 0 .449 1.128c.192.332.434.628.702.898l.047.05c.151.139.302.275.461.403.24.192.492.367.748.537.474.314.962.6 1.457.877l.041.023.588.735-.729.586c-.376.112-.755.216-1.135.309a11.193 11.193 0 0 1-2.562.355 8.575 8.575 0 0 1-2.995-.486 8.461 8.461 0 0 1-.96-.413 11.194 11.194 0 0 1-1.836-1.152 13.345 13.345 0 0 1-1.07-.934c-.23-.221-.454-.448-.672-.681-.121-.129-.246-.258-.36-.395a23.448 23.448 0 0 1-1.328-1.773c-.051-.076-.049-.077-.095-.155l-.277-.477-.072-.13c-.081-.177-.159-.357-.238-.535l-.003-.01-.092-.707zm52.409-7.804c3.557 0 6.444 3.201 6.444 7.145 0 3.944-2.887 7.146-6.444 7.146s-6.444-3.202-6.444-7.146 2.887-7.145 6.444-7.145zm18.062 0c3.557 0 6.444 3.201 6.444 7.145 0 3.944-2.887 7.146-6.444 7.146s-6.444-3.202-6.444-7.146 2.887-7.145 6.444-7.145zM83.12 42.029c1.915 0 3.47 1.601 3.47 3.573s-1.555 3.573-3.47 3.573c-1.915 0-3.47-1.601-3.47-3.573s1.555-3.573 3.47-3.573zm17.846 0c1.915 0 3.47 1.601 3.47 3.573s-1.555 3.573-3.47 3.573c-1.915 0-3.47-1.601-3.47-3.573s1.555-3.573 3.47-3.573zM17.019 28c-.368 1.65-1.848 5.008-5.178 5.799-2.572.611-4.153-.815-4.544-2.559-.424-1.891.722-3.532 2.121-4.575a3.473 3.473 0 0 1-1.446-2.099c-.421-1.875.867-3.637 3.184-4.187 1.917-.455 3.185.248 3.462 1.482.265 1.184-.534 2.275-1.828 2.582-.878.209-1.574-.042-1.718-.683a1.4 1.4 0 0 1 .044-.704s.287.227.894.083c.751-.179 1.086-.709.972-1.219-.14-.625-.892-.827-1.739-.626-1.054.25-2.06 1.096-1.713 2.642.232 1.036.871 1.56 1.483 1.813.245-.11.481-.183.688-.233.943-.224 1.48-.005 1.587.472.092.411-.144.935-1.166 1.178a3.255 3.255 0 0 1-1.548.004c-.837.771-1.58 1.883-1.27 3.264.276 1.234 1.267 2.125 2.944 1.726 2.598-.617 3.861-3.638 4.277-4.883-.353-.574-.615-1.153-.732-1.676-.107-.477.145-1.005.863-1.175.48-.114.702.127.846.769a2.77 2.77 0 0 1-.03.995c.209.331.443.622.735.951.616-1.983 1.369-3.877 1.737-3.964.591-.141 1.492.65 1.492.65-.815.644-1.689 2.376-2.333 4.158.804.658 1.627 1.103 2.139.982.43-.102.735-.577.95-1.151-.323-2.226.975-4.331 2.31-4.648.703-.167 1.257.204 1.39.796.114.51-.044 1.379-.854 1.745-.236-1.053-.672-1.348-.944-1.283-.495.117-.844 1.413-.538 2.778.232 1.037.712 1.529 1.351 1.377.756-.179 1.333-1.176 1.699-2.128-.265-2.095.877-4.166 2.221-4.486.671-.159 1.214.162 1.391.952.332 1.48-.986 2.885-2.173 3.444.265.734.673 1.053 1.281.909.96-.229 1.578-1.465 1.923-2.506-.125-1.267-.26-2.385-.406-3.035l-.055-.247s1.568-.286 1.778.652l.019.082c.238-.663.67-1.216 1.309-1.368.83-.197 1.526.504 1.755 1.524.497 2.22-.556 4.428-1.834 4.732-.368.087-.642.066-.883-.033.121 1.288.292 2.651.542 3.77.126.559.272 1.061.448 1.47-.464.11-1.797.392-1.978-.414-.16-.716-.342-3.206-.554-5.612-.504 1.107-1.311 2.192-2.441 2.46-1.008.24-1.685-.303-2.055-1.182-.491 1.082-1.281 2.148-2.381 2.409-.817.194-1.554-.117-1.988-1.013-.36.843-.875 1.555-1.54 1.713-.639.152-1.53-.295-2.4-1.024-.239.888-.384 1.668-.39 2.241 0 0-.701.028-.804-.433-.096-.427.065-1.436.341-2.61a10.315 10.315 0 0 1-.713-.848zm38.163-17.803c.068.157.185.527.266.889.424 1.892.37 4.451.739 6.42-.065.61-.387 3.077-1.352 3.307-.192.045-.333-.06-.422-.454-.14-.626-.091-1.607-.293-2.512-.258-1.152-.782-1.686-1.517-1.511-.767.182-1.287 1.016-1.643 2.054-.022-.099-.053-.386-.093-.567-.211-.938-1.779-.652-1.779-.652a6.2 6.2 0 0 1 .457 1.364c.07.31.119.618.155.921-.246.495-.637.996-1.225 1.135-.064.015-.128.031-.195.029a6.977 6.977 0 0 0-.126-.784c-.258-1.152-.871-2.011-1.526-1.855a.712.712 0 0 0-.423.291c-1.337.317-2.358 2.107-2.118 3.919-.214.889-.551 1.757-1.059 1.877-.415.099-.724-.452-1.03-1.817-.059-.263-.09-.706-.122-1.149.142-.64.177-1.237.081-1.665-.107-.477-.417-.733-.816-.638-.715.17-.909 1.75-.52 3.801-.238.92-.639 1.915-1.278 2.067-.464.11-.835-.27-1.012-1.059-.158-.708-.196-1.929-.236-3.08 1.201-.424 1.911-1.009 1.775-1.617-.114-.51-.739-.743-.739-.743s-.124.722-1.064 1.258c-.029-.582-.064-1.111-.137-1.44-.137-.609-.458-.914-1.688-.622.158.327.274.698.359 1.076.103.46.162.949.189 1.445-.611.128-.947.052-.947.052s-.1.457-.041.72c.078.345.432.348 1.026.224.02 1.364-.067 2.701.143 3.639.306 1.365 1.231 1.89 2.046 1.697.907-.216 1.539-1.275 1.914-2.36.407 1.245 1.031 1.955 1.951 1.736.731-.174 1.261-1.142 1.587-2.195.431.765 1.15 1.129 1.983.931 1.214-.289 1.742-1.54 1.835-2.775 0 0 .147-.018.243-.04.526-.125.949-.488 1.26-.915.04.788.053 1.518.194 2.146.111.493.339.612.595.552.495-.118 1.081-.881 1.081-.881a3.93 3.93 0 0 1-.383-1.035c-.284-1.267.317-3.541.988-3.7.208-.049.377.257.492.767.057.255.092.504.115.751l.098 1.469c.024.246.059.496.116.751.158.707.63 1.236 1.381 1.058 1.317-.313 2.07-2.634 2.178-3.956.228.157.536.175.909.086-.505-2.253.089-6.136-.298-7.864-.1-.444-1.001-.58-1.607-.583l-.467.037zM33.729 22.293c.415-.099.711.246.885 1.02.287 1.283-.222 2.616-.797 2.753-.191.045-.695-.025-.961-1.21-.025-.115-.051-.23-.061-.349.05-1.277.439-2.097.934-2.214zm-5.187.955c.271-.065.511.104.588.449.137.609-.338 1.345-1.275 1.966-.255-1.36.159-2.29.687-2.415zm18.032-.403c-.607.144-1.062-.458-1.239-1.248-.217-.97.001-2.097.644-2.457.001.155.038.32.075.484.147.658.554 1.497 1.268 1.83-.017.749-.253 1.273-.748 1.391zm9.877-1.654c.103.461.496.714 1.039.585.799-.19.973-.993.847-1.553-.125-.559-.461-.93-.988-.805-.543.13-1.108.836-.898 1.773zm-14.21-5.442c-.104-.461-.497-.714-1.056-.581-.783.186-.972.993-.847 1.552.126.56.461.93.908.824.56-.133 1.172-1.006.995-1.795z" fill="#fff" fill-opacity=".6"></path></svg>';
+        return '<svg viewBox="0 0 136 81" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.4"><path d="M92.4 20.4a23.2 23.2 0 0 1 9 1.9 23.7 23.7 0 0 1 5.2 3 24.3 24.3 0 0 1 3.4 3.4 24.8 24.8 0 0 1 5 9.4c.5 1.7.8 3.4 1 5.2v14.5h.4l.5.2a7.4 7.4 0 0 0 2.5.2l.2-.2.6-.8.8-1.3-.2-.1a5.5 5.5 0 0 1-.8-.3 5.6 5.6 0 0 1-2.3-1.8 5.7 5.7 0 0 1-.9-1.6 6.5 6.5 0 0 1-.2-2.8 7.3 7.3 0 0 1 .5-2l.3-.3.8-.9.3-.3c.2-.2.5-.3.8-.3H120.7c.2 0 .3-.1.4 0h.4l.2.1.3.2.2-.4.3-.4.1-.1 1.2-1 .3-.2.4-.1.4-.1h.3l1.5.1.4.1.8.5.1.2 1 1.1v.2H129.4l.4-.2 1.4-.5h1.1c.3 0 .7.2 1 .4.2 0 .3.2.5.3l.2.2.5.3.4.6.1.3.4 1.4.1.4v.6a7.8 7.8 0 0 1-.1.6 9.9 9.9 0 0 1-.8 2.4 7.8 7.8 0 0 1-3 3.3 6.4 6.4 0 0 1-1 .5 6.1 6.1 0 0 1-.6.2l-.7.1h-.1a23.4 23.4 0 0 1-.2 1.7 14.3 14.3 0 0 1-.6 2.1l-.8 2a9.2 9.2 0 0 1-.4.6l-.7 1a9.1 9.1 0 0 1-2.3 2.2c-.9.5-2 .6-3 .7l-1.4.1h-.5l-.4.1a15.8 15.8 0 0 1-2.8-.1v4.2a9.7 9.7 0 0 1-.7 3.5 9.6 9.6 0 0 1-1.7 2.8 9.3 9.3 0 0 1-3 2.3 9 9 0 0 1-5.4.7 9 9 0 0 1-3-1 9.4 9.4 0 0 1-2.7-2.5 10 10 0 0 1-1 1.2 9.3 9.3 0 0 1-2 1.3 9 9 0 0 1-2.4 1 9 9 0 0 1-6.5-1.1A9.4 9.4 0 0 1 85 77V77a10.9 10.9 0 0 1-.6.6 9.3 9.3 0 0 1-2.7 2 9 9 0 0 1-6 .8 9 9 0 0 1-2.4-1 9.3 9.3 0 0 1-2.3-1.7 9.6 9.6 0 0 1-1.8-2.8 9.7 9.7 0 0 1-.8-3.7v-4a18.5 18.5 0 0 1-2.9.2l-1.2-.1c-1.9-.3-3.7-1-5.1-2.1A8.2 8.2 0 0 1 58 64a10.2 10.2 0 0 1-.9-1.2 15.3 15.3 0 0 1-.7-1.3 20.8 20.8 0 0 1-1.9-6.2v-.2a6.5 6.5 0 0 1-1-.3 6.1 6.1 0 0 1-.6-.3 6.6 6.6 0 0 1-.9-.5 8.2 8.2 0 0 1-2.7-3.8 10 10 0 0 1-.3-1 10.3 10.3 0 0 1-.3-1.9V47v-.4l.1-.4.6-1.4.1-.2a2 2 0 0 1 .8-.8l.3-.2.3-.2a3.2 3.2 0 0 1 1.8-.5h.4l.3.2 1.4.6.2.2.4.3.3.4.7-.7.2-.2.4-.2.6-.2h2.1l.4.2.4.2.3.2.8 1 .2-.1h.1v-.1H63l1.1.1h.3l.8.5.3.4.7 1 .2.3.1.5a11 11 0 0 1 .2 1.5c0 .8 0 1.6-.3 2.3a6 6 0 0 1-.5 1.2 5.5 5.5 0 0 1-3.3 2.5 12.3 12.3 0 0 0 1.4 3h.1l.2.1 1 .2h1.5l.5-.2H67.8l.5-.2h.1V44v-.4a26.7 26.7 0 0 1 .3-2.3 24.7 24.7 0 0 1 5.7-12.5 24.2 24.2 0 0 1 3.5-3.3 23.7 23.7 0 0 1 4.9-3 23.2 23.2 0 0 1 5.6-1.7 23.7 23.7 0 0 1 4-.3zm-.3 2a21.2 21.2 0 0 0-8 1.7 21.6 21.6 0 0 0-4.8 2.7 22.2 22.2 0 0 0-3.2 3 22.7 22.7 0 0 0-5 9.2 23.4 23.4 0 0 0-.7 4.9v15.7l-.5.1a34.3 34.3 0 0 1-1.5.3h-.2l-.4.1h-.4l-.9.2a10 10 0 0 1-1.9 0c-.5 0-1-.2-1.5-.4a1.8 1.8 0 0 1-.3-.2 2 2 0 0 1-.3-.3 5.2 5.2 0 0 1-.1-.2 9 9 0 0 1-.6-.9 13.8 13.8 0 0 1-1-2 14.3 14.3 0 0 1-.6-2 14 14 0 0 1-.1-.8v-.2h.3a12.8 12.8 0 0 0 1.4-.2 4.4 4.4 0 0 0 .3 0 3.6 3.6 0 0 0 1.1-.7 3.4 3.4 0 0 0 1.2-1.7l.2-1.2a5.1 5.1 0 0 0 0-.8 7.2 7.2 0 0 0-.1-.8l-.7-1-1.2-.2-1 .7-.1 1.3a5 5 0 0 1 .1.4v.6a1 1 0 0 1 0 .3c-.1.3-.4.4-.7.5l-1.2.4v-.7A9.9 9.9 0 0 1 60 49l.3-.6v-.2l.1-.1v-1.6l-1-1.2h-1.5l-1 1.1v.4a5.3 5.3 0 0 0-.2.6 5.5 5.5 0 0 0 0 .5c0 .7 0 1.4.3 2 0 .4.2.8.4 1.2L57 51a9.5 9.5 0 0 1-1.1-.5h-.2a2 2 0 0 1-.4-.3c-.4-.4-.5-1-.6-1.6a5.6 5.6 0 0 1 0-.5v-.5-.5l-.6-1.5-1.4-.6-.9.3s-.2 0-.3.2a2 2 0 0 1-.1 0l-.6 1.4v.7a8.5 8.5 0 0 0 .5 2c.4 1.1 1 2.1 2 2.8a4.7 4.7 0 0 0 2.1.9h1a22.8 22.8 0 0 0 .1 1 18.1 18.1 0 0 0 .8 3.8 18.2 18.2 0 0 0 1.6 3.7l1 1.3c1 1 2.3 1.6 3.7 2a11.7 11.7 0 0 0 4.8 0h.4l.5-.2.5-.1.6-.2v6.6a8 8 0 0 0 .1 1.3 7.5 7.5 0 0 0 2.4 4.3 7.2 7.2 0 0 0 2.3 1.3 7 7 0 0 0 7-1.1 7.5 7.5 0 0 0 2-2.6A7.7 7.7 0 0 0 85 72V71a8.2 8.2 0 0 0 .2 1.3c0 .7.3 1.4.6 2a7.5 7.5 0 0 0 1.7 2.3 7.3 7.3 0 0 0 2.2 1.4 7.1 7.1 0 0 0 4.6.2 7.2 7.2 0 0 0 2.4-1.2 7.5 7.5 0 0 0 2.1-2.7 7.8 7.8 0 0 0 .7-2.4V71a9.3 9.3 0 0 0 .1.6 7.6 7.6 0 0 0 .6 2.5 7.5 7.5 0 0 0 2.4 3 7.1 7.1 0 0 0 7 .8 7.3 7.3 0 0 0 2.3-1.5 7.5 7.5 0 0 0 1.6-2.3 7.6 7.6 0 0 0 .5-2l.1-1.1v-6.7l.4.1a12.2 12.2 0 0 0 2 .5 11.1 11.1 0 0 0 2.5 0h.8l1.2-.1a9.5 9.5 0 0 0 1.4-.2l.9-.3a3.5 3.5 0 0 0 .6-.4l1.2-1.4a12.2 12.2 0 0 0 .8-1.2c0-.3.2-.5.3-.7a15.9 15.9 0 0 0 .7-2l.3-1.6v-1.3l.2-.9V54.6a15.5 15.5 0 0 0 1.8 0 4.5 4.5 0 0 0 1.4-.5 5.7 5.7 0 0 0 2.5-3.2 7.6 7.6 0 0 0 .4-1.5v-.3l-.4-1.4a5.2 5.2 0 0 1-.2-.1l-.4-.4a3.8 3.8 0 0 0-.2 0 1.4 1.4 0 0 0-.5-.2l-1.4.4-.7 1.3v.7a5.7 5.7 0 0 1-.1.8l-.7 1.4a1.9 1.9 0 0 1-.5.3h-.3a9.6 9.6 0 0 1-.8.3 8.8 8.8 0 0 1-.6 0l.2-.4.2-.5.2-.3v-.4l.1-.2V50l.1-1 .1-.6v-.6a4.8 4.8 0 0 0 0-.8v-.2l-1-1.1-1.5-.2-1.1 1-.2 1.4v.1l.2.4.2.3v.4l.1 1.1v.3l.1.5v.8a9.6 9.6 0 0 1-.8-.3l-.2-.1h-.3l-.8-.1h-.2a1.6 1.6 0 0 1-.2-.2.9.9 0 0 1-.2-.2 1 1 0 0 1-.1-.5l.2-.9v-1.2l-.9-.8h-1.2l-.8.9v.3a4.8 4.8 0 0 0-.3 2l.3.9a3.5 3.5 0 0 0 1.2 1.6l1 .5.8.2 1.4.1h.4l.2.1a12.1 12.1 0 0 1-1 2.6 13.2 13.2 0 0 1-.8 1.5 9.5 9.5 0 0 1-1 1.2l-.2.3a1.7 1.7 0 0 1-.4.3 2.4 2.4 0 0 1-.7.2h-2.5a7.8 7.8 0 0 1-.6-.2l-.7-.2h-.2a14.8 14.8 0 0 1-.6-.2 23.4 23.4 0 0 1-.4-.1l-.4-.1-.3-.1V43.9a34.6 34.6 0 0 0 0-.6 23.6 23.6 0 0 0-.4-3 22.7 22.7 0 0 0-1.5-4.7 22.6 22.6 0 0 0-4.6-6.7 21.9 21.9 0 0 0-6.9-4.7 21.2 21.2 0 0 0-8.1-1.8H92zm9.1 33.7l.3.1a1 1 0 0 1 .6.8v.4a8.4 8.4 0 0 1 0 .5 8.8 8.8 0 0 1-1.6 4.2l-1 1.3A10 10 0 0 1 95 66c-1.3.3-2.7.4-4 .3a10.4 10.4 0 0 1-2.7-.8 10 10 0 0 1-3.6-2.5 9.3 9.3 0 0 1-.8-1 9 9 0 0 1-.7-1.2 8.6 8.6 0 0 1-.8-3.4V57a1 1 0 0 1 .3-.6 1 1 0 0 1 1.3-.2 1 1 0 0 1 .4.8v.4a6.5 6.5 0 0 0 .5 2.2 7 7 0 0 0 2.1 2.8l1 .6c2.6 1.6 6 1.6 8.5 0a8 8 0 0 0 1.1-.6 7.6 7.6 0 0 0 1.2-1.2 7 7 0 0 0 1-1.7 6.5 6.5 0 0 0 .4-2.5 1 1 0 0 1 .7-1h.4zM30.7 43.7c-15.5 1-28.5-6-30.1-16.4C-1.2 15.7 11.6 4 29 1.3 46.6-1.7 62.3 5.5 64 17.1c1.6 10.4-8.7 21-23.7 25a31.2 31.2 0 0 0 0 .9v.3a19 19 0 0 0 .1 1l.1.4.1.9a4.7 4.7 0 0 0 .5 1l.7 1a9.2 9.2 0 0 0 1.2 1l1.5.8.6.8-.7.6-1.1.3a11.2 11.2 0 0 1-2.6.4 8.6 8.6 0 0 1-3-.5 8.5 8.5 0 0 1-1-.4 11.2 11.2 0 0 1-1.8-1.2 13.3 13.3 0 0 1-1-1 18 18 0 0 1-.7-.6l-.4-.4a23.4 23.4 0 0 1-1.3-1.8l-.1-.1-.3-.5V45l-.3-.6v-.7zM83.1 36c3.6 0 6.5 3.2 6.5 7.1 0 4-3 7.2-6.5 7.2S76.7 47 76.7 43 79.6 36 83 36zm18 0c3.6 0 6.5 3.2 6.5 7.1 0 4-2.9 7.2-6.4 7.2S94.7 47 94.7 43s3-7.1 6.5-7.1zm-18 6.1c2 0 3.5 1.6 3.5 3.6S85 49.2 83 49.2s-3.4-1.6-3.4-3.6S81.2 42 83 42zm17.9 0c1.9 0 3.4 1.6 3.4 3.6s-1.5 3.6-3.4 3.6c-2 0-3.5-1.6-3.5-3.6S99.1 42 101 42zM17 28c-.3 1.6-1.8 5-5.2 5.8-2.5.6-4.1-.8-4.5-2.6-.4-1.9.7-3.5 2.1-4.5A3.5 3.5 0 0 1 8 24.6c-.4-2 .8-3.7 3.2-4.2 1.9-.5 3.1.2 3.4 1.5.3 1.1-.5 2.2-1.8 2.5-.9.3-1.6 0-1.7-.6a1.4 1.4 0 0 1 0-.7s.3.2 1 0c.7-.1 1-.7.9-1.2-.2-.6-1-.8-1.8-.6-1 .2-2 1-1.7 2.6.3 1 .9 1.6 1.5 1.8l.7-.2c1-.2 1.5 0 1.6.5 0 .4-.2 1-1.2 1.2a3.3 3.3 0 0 1-1.5 0c-.9.7-1.6 1.9-1.3 3.2.3 1.3 1.3 2.2 3 1.8 2.5-.7 3.8-3.7 4.2-5-.3-.5-.6-1-.7-1.6-.1-.5.1-1 .9-1.2.4 0 .7.2.8.8a2.8 2.8 0 0 1 0 1l.7 1c.6-2 1.4-4 1.7-4 .6-.2 1.5.6 1.5.6-.8.7-1.7 2.4-2.3 4.2.8.6 1.6 1 2.1 1 .5-.1.8-.6 1-1.2-.3-2.2 1-4.3 2.3-4.6.7-.2 1.3.2 1.4.8.1.5 0 1.3-.9 1.7-.2-1-.6-1.3-1-1.3-.4.1-.7 1.4-.4 2.8.2 1 .7 1.5 1.3 1.4.8-.2 1.3-1.2 1.7-2.1-.3-2.1.9-4.2 2.2-4.5.7-.2 1.2.1 1.4 1 .4 1.4-1 2.8-2.2 3.4.3.7.7 1 1.3.9 1-.3 1.6-1.5 2-2.5l-.5-3v-.3s1.6-.3 1.8.6v.1c.2-.6.7-1.2 1.3-1.4.8-.1 1.5.6 1.7 1.6.5 2.2-.5 4.4-1.8 4.7H33a31.9 31.9 0 0 0 1 5.2c-.4.1-1.8.4-2-.4l-.5-5.6c-.5 1-1.3 2.2-2.5 2.4-1 .3-1.6-.3-2-1.1-.5 1-1.3 2.1-2.4 2.4-.8.2-1.5-.1-2-1-.3.8-.9 1.5-1.5 1.7-.7.1-1.5-.3-2.4-1-.3.8-.4 1.6-.4 2.2 0 0-.7 0-.8-.4-.1-.5 0-1.5.3-2.7a10.3 10.3 0 0 1-.7-.8zm38.2-17.8l.2.9c.5 1.9.4 4.4.8 6.4 0 .6-.4 3-1.4 3.3-.2 0-.3 0-.4-.4-.1-.7 0-1.6-.3-2.6-.2-1.1-.8-1.6-1.5-1.5-.8.2-1.3 1-1.6 2l-.1-.5c-.2-1-1.8-.6-1.8-.6a6.2 6.2 0 0 1 .4 1.3l.2 1c-.2.5-.6 1-1.2 1l-.2.1a7 7 0 0 0-.1-.8c-.3-1.1-1-2-1.6-1.8a.7.7 0 0 0-.4.3c-1.3.3-2.4 2-2.1 3.9-.2.9-.6 1.7-1 1.9-.5 0-.8-.5-1.1-1.8l-.1-1.2a4 4 0 0 0 0-1.7c0-.4-.4-.7-.8-.6-.7.2-.9 1.7-.5 3.8-.2 1-.6 2-1.3 2-.4.2-.8-.2-1-1l-.2-3c1.2-.5 2-1 1.8-1.7-.1-.5-.8-.7-.8-.7s0 .7-1 1.2l-.2-1.4c-.1-.6-.4-1-1.7-.6l.4 1 .2 1.5h-1v.8c0 .3.4.3 1 .2 0 1.3 0 2.7.2 3.6.3 1.4 1.2 2 2 1.7 1-.2 1.6-1.3 2-2.3.3 1.2 1 2 1.9 1.7.7-.2 1.2-1.1 1.6-2.2.4.8 1.1 1.1 2 1 1.2-.4 1.7-1.6 1.8-2.8h.2c.6-.2 1-.6 1.3-1 0 .8 0 1.5.2 2.1.1.5.3.7.6.6.5-.1 1-.9 1-.9a4 4 0 0 1-.3-1c-.3-1.3.3-3.6 1-3.7.2 0 .3.2.5.7v.8l.2 1.5v.7c.2.7.7 1.3 1.5 1 1.3-.2 2-2.6 2.1-3.9.3.2.6.2 1 .1-.6-2.2 0-6.1-.3-7.9-.1-.4-1-.5-1.7-.5h-.4zm-21.5 12c.4 0 .7.3 1 1.1.2 1.3-.3 2.6-.9 2.8-.2 0-.7 0-1-1.2v-.4c0-1.3.4-2 1-2.2zm-5.2 1c.3 0 .6.2.6.5.2.6-.3 1.3-1.2 2-.3-1.4.1-2.3.6-2.5zm18-.4c-.5.2-1-.4-1.2-1.2-.2-1 0-2.1.7-2.5v.5c.2.7.6 1.5 1.3 1.9 0 .7-.2 1.2-.7 1.3zm10-1.6c0 .5.4.7 1 .6.8-.2 1-1 .8-1.6 0-.5-.4-1-1-.8-.5.1-1 .9-.8 1.8zm-14.3-5.5c0-.4-.5-.7-1-.5-.8.2-1 1-.9 1.5.2.6.5 1 1 .8.5 0 1.1-1 1-1.8z" fill="#fff" fill-opacity=".6"/></svg>';
     }
 }
diff --git a/vendor/symfony/debug/Tests/ErrorHandlerTest.php b/vendor/symfony/debug/Tests/ErrorHandlerTest.php
index c1dea75bbd90ee349b824c82b4446c85eca5f723..15de37c7b78082d88a5de750fa45f1e9d5693250 100644
--- a/vendor/symfony/debug/Tests/ErrorHandlerTest.php
+++ b/vendor/symfony/debug/Tests/ErrorHandlerTest.php
@@ -525,7 +525,7 @@ public function testHandleFatalError()
      */
     public function testHandleErrorException()
     {
-        $exception = new \Error("Class 'Foo' not found");
+        $exception = new \Error("Class 'IReallyReallyDoNotExistAnywhereInTheRepositoryISwear' not found");
 
         $handler = new ErrorHandler();
         $handler->setExceptionHandler(function () use (&$args) {
@@ -535,7 +535,7 @@ public function testHandleErrorException()
         $handler->handleException($exception);
 
         $this->assertInstanceOf('Symfony\Component\Debug\Exception\ClassNotFoundException', $args[0]);
-        $this->assertStringStartsWith("Attempted to load class \"Foo\" from the global namespace.\nDid you forget a \"use\" statement", $args[0]->getMessage());
+        $this->assertStringStartsWith("Attempted to load class \"IReallyReallyDoNotExistAnywhereInTheRepositoryISwear\" from the global namespace.\nDid you forget a \"use\" statement", $args[0]->getMessage());
     }
 
     /**
diff --git a/vendor/symfony/debug/Tests/Fixtures/FinalClasses.php b/vendor/symfony/debug/Tests/Fixtures/FinalClasses.php
index 0f51f9f46f62789a2e32e40c8774a3a22d60f7ba..4c2b0aaf351f38603af944da971e0af2505e0b58 100644
--- a/vendor/symfony/debug/Tests/Fixtures/FinalClasses.php
+++ b/vendor/symfony/debug/Tests/Fixtures/FinalClasses.php
@@ -30,6 +30,7 @@ class FinalClass3
 
 /**
  * @final
+ *
  * @author John Doe
  */
 class FinalClass4
@@ -63,7 +64,6 @@ class FinalClass6
  * @author John Doe
  *
  * @final another
- *
  *        multiline comment...
  *
  * @return string
@@ -76,6 +76,7 @@ class FinalClass7
 /**
  * @author John Doe
  * @final
+ *
  * @return string
  */
 class FinalClass8
diff --git a/vendor/symfony/debug/Tests/Fixtures/FinalMethod.php b/vendor/symfony/debug/Tests/Fixtures/FinalMethod.php
index 98a47524c43e627fbe97d1cfe7f43b46c90c1042..595dd0a887fb4974cca51e6d00eb58c554510eea 100644
--- a/vendor/symfony/debug/Tests/Fixtures/FinalMethod.php
+++ b/vendor/symfony/debug/Tests/Fixtures/FinalMethod.php
@@ -13,6 +13,8 @@ public function finalMethod()
 
     /**
      * @final
+     *
+     * @return int
      */
     public function finalMethod2()
     {
diff --git a/vendor/symfony/dependency-injection/Compiler/AutowirePass.php b/vendor/symfony/dependency-injection/Compiler/AutowirePass.php
index 252b304f118f59f2c0cc2f850d76cf7f21e2cc1e..c8e7a0f575f4eb3e4fdfe807b1b53810fcb2461a 100644
--- a/vendor/symfony/dependency-injection/Compiler/AutowirePass.php
+++ b/vendor/symfony/dependency-injection/Compiler/AutowirePass.php
@@ -181,7 +181,15 @@ private function autowireCalls(\ReflectionClass $reflectionClass, array $methodC
             if ($method instanceof \ReflectionFunctionAbstract) {
                 $reflectionMethod = $method;
             } else {
-                $reflectionMethod = $this->getReflectionMethod(new Definition($reflectionClass->name), $method);
+                $definition = new Definition($reflectionClass->name);
+                try {
+                    $reflectionMethod = $this->getReflectionMethod($definition, $method);
+                } catch (RuntimeException $e) {
+                    if ($definition->getFactory()) {
+                        continue;
+                    }
+                    throw $e;
+                }
             }
 
             $arguments = $this->autowireMethod($reflectionMethod, $arguments);
diff --git a/vendor/symfony/dependency-injection/Compiler/ResolveBindingsPass.php b/vendor/symfony/dependency-injection/Compiler/ResolveBindingsPass.php
index 20b262b6d461c224988f8ec94d3a34db03b998ea..f3c4b593cccc24b406d8992c31b5a0014a04d522 100644
--- a/vendor/symfony/dependency-injection/Compiler/ResolveBindingsPass.php
+++ b/vendor/symfony/dependency-injection/Compiler/ResolveBindingsPass.php
@@ -34,6 +34,8 @@ class ResolveBindingsPass extends AbstractRecursivePass
      */
     public function process(ContainerBuilder $container)
     {
+        $this->usedBindings = $container->getRemovedBindingIds();
+
         try {
             parent::process($container);
 
@@ -115,7 +117,14 @@ protected function processValue($value, $isRoot = false)
             if ($method instanceof \ReflectionFunctionAbstract) {
                 $reflectionMethod = $method;
             } else {
-                $reflectionMethod = $this->getReflectionMethod($value, $method);
+                try {
+                    $reflectionMethod = $this->getReflectionMethod($value, $method);
+                } catch (RuntimeException $e) {
+                    if ($value->getFactory()) {
+                        continue;
+                    }
+                    throw $e;
+                }
             }
 
             foreach ($reflectionMethod->getParameters() as $key => $parameter) {
diff --git a/vendor/symfony/dependency-injection/Container.php b/vendor/symfony/dependency-injection/Container.php
index e822643439c2f5f1d8d6297cd50c19b2fdb73fa3..e385f0689896ea9989d64afef3b884c9e905c0fe 100644
--- a/vendor/symfony/dependency-injection/Container.php
+++ b/vendor/symfony/dependency-injection/Container.php
@@ -159,7 +159,7 @@ public function setParameter($name, $value)
     /**
      * Sets a service.
      *
-     * Setting a service to null resets the service: has() returns false and get()
+     * Setting a synthetic service to null resets it: has() returns false and get()
      * behaves in the same way as if the service was never created.
      *
      * @param string $id      The service identifier
diff --git a/vendor/symfony/dependency-injection/ContainerBuilder.php b/vendor/symfony/dependency-injection/ContainerBuilder.php
index 0c1966a42e255f3771d0039867cb5c71c4cf0df6..e6a2aa0531ea91e1529aee0e513ed37dfb1684fb 100644
--- a/vendor/symfony/dependency-injection/ContainerBuilder.php
+++ b/vendor/symfony/dependency-injection/ContainerBuilder.php
@@ -123,6 +123,8 @@ class ContainerBuilder extends Container implements TaggedContainerInterface
 
     private $removedIds = [];
 
+    private $removedBindingIds = [];
+
     private static $internalTypes = [
         'int' => true,
         'float' => true,
@@ -866,6 +868,10 @@ public function setAlias($alias, $id)
     {
         $alias = $this->normalizeId($alias);
 
+        if ('' === $alias || '\\' === substr($alias, -1) || \strlen($alias) !== strcspn($alias, "\0\r\n'")) {
+            throw new InvalidArgumentException(sprintf('Invalid alias id: "%s"', $alias));
+        }
+
         if (\is_string($id)) {
             $id = new Alias($this->normalizeId($id));
         } elseif (!$id instanceof Alias) {
@@ -1019,6 +1025,10 @@ public function setDefinition($id, Definition $definition)
 
         $id = $this->normalizeId($id);
 
+        if ('' === $id || '\\' === substr($id, -1) || \strlen($id) !== strcspn($id, "\0\r\n'")) {
+            throw new InvalidArgumentException(sprintf('Invalid service id: "%s"', $id));
+        }
+
         unset($this->aliasDefinitions[$id], $this->removedIds[$id]);
 
         return $this->definitions[$id] = $definition;
@@ -1504,6 +1514,35 @@ public function normalizeId($id)
         return isset($this->definitions[$id]) || isset($this->aliasDefinitions[$id]) || isset($this->removedIds[$id]) ? $id : parent::normalizeId($id);
     }
 
+    /**
+     * Gets removed binding ids.
+     *
+     * @return array
+     *
+     * @internal
+     */
+    public function getRemovedBindingIds()
+    {
+        return $this->removedBindingIds;
+    }
+
+    /**
+     * Adds a removed binding id.
+     *
+     * @param int $id
+     *
+     * @internal
+     */
+    public function addRemovedBindingIds($id)
+    {
+        if ($this->hasDefinition($id)) {
+            foreach ($this->getDefinition($id)->getBindings() as $key => $binding) {
+                list(, $bindingId) = $binding->getValues();
+                $this->removedBindingIds[(int) $bindingId] = true;
+            }
+        }
+    }
+
     /**
      * Returns the Service Conditionals.
      *
diff --git a/vendor/symfony/dependency-injection/Dumper/PhpDumper.php b/vendor/symfony/dependency-injection/Dumper/PhpDumper.php
index 0a1385ecc4a0afc984b4014385aed43e68694c96..73c868f1e54c9e1c6cdb4c25355ce812772feff5 100644
--- a/vendor/symfony/dependency-injection/Dumper/PhpDumper.php
+++ b/vendor/symfony/dependency-injection/Dumper/PhpDumper.php
@@ -483,7 +483,7 @@ private function addServiceInstance($id, Definition $definition, $isSimpleInstan
         $instantiation = '';
 
         if (!$isProxyCandidate && $definition->isShared()) {
-            $instantiation = "\$this->services['$id'] = ".($isSimpleInstance ? '' : '$instance');
+            $instantiation = sprintf('$this->services[%s] = %s', $this->doExport($id), $isSimpleInstance ? '' : '$instance');
         } elseif (!$isSimpleInstance) {
             $instantiation = '$instance';
         }
@@ -679,6 +679,9 @@ private function addService($id, Definition $definition, &$file = null)
      * Gets the $public '$id'$shared$autowired service.
      *
      * $return
+EOF;
+            $code = str_replace('*/', ' ', $code).<<<EOF
+
      */
     protected function {$methodName}($lazyInitialization)
     {
@@ -693,7 +696,7 @@ protected function {$methodName}($lazyInitialization)
 
         if ($this->getProxyDumper()->isProxyCandidate($definition)) {
             $factoryCode = $asFile ? "\$this->load('%s.php', false)" : '$this->%s(false)';
-            $code .= $this->getProxyDumper()->getProxyFactoryCode($definition, $id, sprintf($factoryCode, $methodName));
+            $code .= $this->getProxyDumper()->getProxyFactoryCode($definition, $id, sprintf($factoryCode, $methodName, $this->doExport($id)));
         }
 
         if ($definition->isDeprecated()) {
@@ -767,14 +770,14 @@ private function addInlineReference($id, Definition $definition, $targetId, $for
 
         $code .= sprintf(<<<'EOTXT'
 
-        if (isset($this->%s['%s'])) {
-            return $this->%1$s['%2$s'];
+        if (isset($this->%s[%s])) {
+            return $this->%1$s[%2$s];
         }
 
 EOTXT
             ,
             'services',
-            $id
+            $this->doExport($id)
         );
 
         return $code;
@@ -1530,14 +1533,14 @@ private function getServiceConditionals($value)
             if (!$this->container->hasDefinition($service)) {
                 return 'false';
             }
-            $conditions[] = sprintf("isset(\$this->services['%s'])", $service);
+            $conditions[] = sprintf('isset($this->services[%s])', $this->doExport($service));
         }
         foreach (ContainerBuilder::getServiceConditionals($value) as $service) {
             if ($this->container->hasDefinition($service) && !$this->container->getDefinition($service)->isPublic()) {
                 continue;
             }
 
-            $conditions[] = sprintf("\$this->has('%s')", $service);
+            $conditions[] = sprintf('$this->has(%s)', $this->doExport($service));
         }
 
         if (!$conditions) {
@@ -1776,6 +1779,8 @@ private function dumpLiteralClass($class)
      */
     private function dumpParameter($name)
     {
+        $name = (string) $name;
+
         if ($this->container->isCompiled() && $this->container->hasParameter($name)) {
             $value = $this->container->getParameter($name);
             $dumpedValue = $this->dumpValue($value, false);
@@ -1785,11 +1790,11 @@ private function dumpParameter($name)
             }
 
             if (!preg_match("/\\\$this->(?:getEnv\('(?:\w++:)*+\w++'\)|targetDirs\[\d++\])/", $dumpedValue)) {
-                return sprintf("\$this->parameters['%s']", $name);
+                return sprintf('$this->parameters[%s]', $this->doExport($name));
             }
         }
 
-        return sprintf("\$this->getParameter('%s')", $name);
+        return sprintf('$this->getParameter(%s)', $this->doExport($name));
     }
 
     /**
@@ -1813,7 +1818,7 @@ private function getServiceCall($id, Reference $reference = null)
 
         if ($this->container->hasDefinition($id) && $definition = $this->container->getDefinition($id)) {
             if ($definition->isSynthetic()) {
-                $code = sprintf('$this->get(\'%s\'%s)', $id, null !== $reference ? ', '.$reference->getInvalidBehavior() : '');
+                $code = sprintf('$this->get(%s%s)', $this->doExport($id), null !== $reference ? ', '.$reference->getInvalidBehavior() : '');
             } elseif (null !== $reference && ContainerInterface::IGNORE_ON_UNINITIALIZED_REFERENCE === $reference->getInvalidBehavior()) {
                 $code = 'null';
                 if (!$definition->isShared()) {
@@ -1822,7 +1827,7 @@ private function getServiceCall($id, Reference $reference = null)
             } elseif ($this->isTrivialInstance($definition)) {
                 $code = substr($this->addNewInstance($definition, '', '', $id), 8, -2);
                 if ($definition->isShared()) {
-                    $code = sprintf('$this->services[\'%s\'] = %s', $id, $code);
+                    $code = sprintf('$this->services[%s] = %s', $this->doExport($id), $code);
                 }
                 $code = "($code)";
             } elseif ($this->asFiles && $definition->isShared() && !$this->isHotPath($definition)) {
@@ -1833,14 +1838,14 @@ private function getServiceCall($id, Reference $reference = null)
         } elseif (null !== $reference && ContainerInterface::IGNORE_ON_UNINITIALIZED_REFERENCE === $reference->getInvalidBehavior()) {
             return 'null';
         } elseif (null !== $reference && ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE !== $reference->getInvalidBehavior()) {
-            $code = sprintf('$this->get(\'%s\', /* ContainerInterface::NULL_ON_INVALID_REFERENCE */ %d)', $id, ContainerInterface::NULL_ON_INVALID_REFERENCE);
+            $code = sprintf('$this->get(%s, /* ContainerInterface::NULL_ON_INVALID_REFERENCE */ %d)', $this->doExport($id), ContainerInterface::NULL_ON_INVALID_REFERENCE);
         } else {
-            $code = sprintf('$this->get(\'%s\')', $id);
+            $code = sprintf('$this->get(%s)', $this->doExport($id));
         }
 
         // The following is PHP 5.5 syntax for what could be written as "(\$this->services['$id'] ?? $code)" on PHP>=7.0
 
-        return "\${(\$_ = isset(\$this->services['$id']) ? \$this->services['$id'] : $code) && false ?: '_'}";
+        return sprintf("\${(\$_ = isset(\$this->services[%s]) ? \$this->services[%1\$s] : %s) && false ?: '_'}", $this->doExport($id), $code);
     }
 
     /**
diff --git a/vendor/symfony/dependency-injection/Dumper/XmlDumper.php b/vendor/symfony/dependency-injection/Dumper/XmlDumper.php
index 36e3e121d23bc1e8678db742a4f8602f072d32d6..67b6dbebb438c8e718fd33cf6dc379c4f99928d8 100644
--- a/vendor/symfony/dependency-injection/Dumper/XmlDumper.php
+++ b/vendor/symfony/dependency-injection/Dumper/XmlDumper.php
@@ -47,7 +47,7 @@ public function dump(array $options = [])
 
         $container = $this->document->createElementNS('http://symfony.com/schema/dic/services', 'container');
         $container->setAttribute('xmlns:xsi', 'http://www.w3.org/2001/XMLSchema-instance');
-        $container->setAttribute('xsi:schemaLocation', 'http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd');
+        $container->setAttribute('xsi:schemaLocation', 'http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd');
 
         $this->addParameters($container);
         $this->addServices($container);
@@ -290,12 +290,12 @@ private function convertParameters(array $parameters, $type, \DOMElement $parent
             } elseif ($value instanceof Reference) {
                 $element->setAttribute('type', 'service');
                 $element->setAttribute('id', (string) $value);
-                $behaviour = $value->getInvalidBehavior();
-                if (ContainerInterface::NULL_ON_INVALID_REFERENCE == $behaviour) {
+                $behavior = $value->getInvalidBehavior();
+                if (ContainerInterface::NULL_ON_INVALID_REFERENCE == $behavior) {
                     $element->setAttribute('on-invalid', 'null');
-                } elseif (ContainerInterface::IGNORE_ON_INVALID_REFERENCE == $behaviour) {
+                } elseif (ContainerInterface::IGNORE_ON_INVALID_REFERENCE == $behavior) {
                     $element->setAttribute('on-invalid', 'ignore');
-                } elseif (ContainerInterface::IGNORE_ON_UNINITIALIZED_REFERENCE == $behaviour) {
+                } elseif (ContainerInterface::IGNORE_ON_UNINITIALIZED_REFERENCE == $behavior) {
                     $element->setAttribute('on-invalid', 'ignore_uninitialized');
                 }
             } elseif ($value instanceof Definition) {
diff --git a/vendor/symfony/dependency-injection/Loader/Configurator/ServiceConfigurator.php b/vendor/symfony/dependency-injection/Loader/Configurator/ServiceConfigurator.php
index 12054cad0c0217ea1e457f979c22fd293a919b0e..21b1669d09eca7a063ccf84e1b75777ea7ec3846 100644
--- a/vendor/symfony/dependency-injection/Loader/Configurator/ServiceConfigurator.php
+++ b/vendor/symfony/dependency-injection/Loader/Configurator/ServiceConfigurator.php
@@ -59,6 +59,8 @@ public function __destruct()
     {
         parent::__destruct();
 
+        $this->container->addRemovedBindingIds($this->id);
+
         if (!$this->definition instanceof ChildDefinition) {
             $this->container->setDefinition($this->id, $this->definition->setInstanceofConditionals($this->instanceof));
         } else {
diff --git a/vendor/symfony/dependency-injection/Loader/FileLoader.php b/vendor/symfony/dependency-injection/Loader/FileLoader.php
index a428c6e35f6c4d46bf55d7dd57c8d932bbf267a8..0dd1a3d8bded440b9c24e318e0f5d3f17efbaa48 100644
--- a/vendor/symfony/dependency-injection/Loader/FileLoader.php
+++ b/vendor/symfony/dependency-injection/Loader/FileLoader.php
@@ -91,6 +91,8 @@ public function registerClasses(Definition $prototype, $namespace, $resource, $e
      */
     protected function setDefinition($id, Definition $definition)
     {
+        $this->container->addRemovedBindingIds($id);
+
         if ($this->isLoadingInstanceof) {
             if (!$definition instanceof ChildDefinition) {
                 throw new InvalidArgumentException(sprintf('Invalid type definition "%s": ChildDefinition expected, "%s" given.', $id, \get_class($definition)));
diff --git a/vendor/symfony/dependency-injection/Loader/XmlFileLoader.php b/vendor/symfony/dependency-injection/Loader/XmlFileLoader.php
index fd2a20a8768f74b6ec29ce80ca93bc6472d5020c..718592d8eca3954d727341fd8dd0925691665390 100644
--- a/vendor/symfony/dependency-injection/Loader/XmlFileLoader.php
+++ b/vendor/symfony/dependency-injection/Loader/XmlFileLoader.php
@@ -584,7 +584,8 @@ public function validateSchema(\DOMDocument $dom)
                 }
 
                 if (($extension = $this->container->getExtension($items[$i])) && false !== $extension->getXsdValidationBasePath()) {
-                    $path = str_replace($extension->getNamespace(), str_replace('\\', '/', $extension->getXsdValidationBasePath()).'/', $items[$i + 1]);
+                    $ns = $extension->getNamespace();
+                    $path = str_replace([$ns, str_replace('http://', 'https://', $ns)], str_replace('\\', '/', $extension->getXsdValidationBasePath()).'/', $items[$i + 1]);
 
                     if (!is_file($path)) {
                         throw new RuntimeException(sprintf('Extension "%s" references a non-existent XSD file "%s"', \get_class($extension), $path));
diff --git a/vendor/symfony/dependency-injection/Tests/Compiler/AutowirePassTest.php b/vendor/symfony/dependency-injection/Tests/Compiler/AutowirePassTest.php
index 6bd49fa5c6f828be530f3210b7afa77a24e22089..31fa665ae7a8508898b4a637fd9337b22e412c83 100644
--- a/vendor/symfony/dependency-injection/Tests/Compiler/AutowirePassTest.php
+++ b/vendor/symfony/dependency-injection/Tests/Compiler/AutowirePassTest.php
@@ -21,6 +21,7 @@
 use Symfony\Component\DependencyInjection\Exception\RuntimeException;
 use Symfony\Component\DependencyInjection\Loader\XmlFileLoader;
 use Symfony\Component\DependencyInjection\Reference;
+use Symfony\Component\DependencyInjection\Tests\Fixtures\CaseSensitiveClass;
 use Symfony\Component\DependencyInjection\Tests\Fixtures\includes\FooVariadic;
 use Symfony\Component\DependencyInjection\TypedReference;
 
@@ -605,6 +606,22 @@ public function testSetterInjection()
         );
     }
 
+    /**
+     * @expectedException \Symfony\Component\DependencyInjection\Exception\RuntimeException
+     * @exceptedExceptionMessage Invalid service "Symfony\Component\DependencyInjection\Tests\Fixtures\NamedArgumentsDummy": method "setLogger()" does not exist.
+     */
+    public function testWithNonExistingSetterAndAutowiring()
+    {
+        $container = new ContainerBuilder();
+
+        $definition = $container->register(CaseSensitiveClass::class, CaseSensitiveClass::class)->setAutowired(true);
+        $definition->addMethodCall('setLogger');
+
+        (new ResolveClassPass())->process($container);
+        (new AutowireRequiredMethodsPass())->process($container);
+        (new AutowirePass())->process($container);
+    }
+
     public function testExplicitMethodInjection()
     {
         $container = new ContainerBuilder();
diff --git a/vendor/symfony/dependency-injection/Tests/Compiler/ResolveBindingsPassTest.php b/vendor/symfony/dependency-injection/Tests/Compiler/ResolveBindingsPassTest.php
index 5118b416f93fa4ee7b352507a678b6cfa9a52082..7bbecf6207f467e3e412598faeb911145f0b620e 100644
--- a/vendor/symfony/dependency-injection/Tests/Compiler/ResolveBindingsPassTest.php
+++ b/vendor/symfony/dependency-injection/Tests/Compiler/ResolveBindingsPassTest.php
@@ -16,6 +16,7 @@
 use Symfony\Component\DependencyInjection\Compiler\AutowireRequiredMethodsPass;
 use Symfony\Component\DependencyInjection\Compiler\ResolveBindingsPass;
 use Symfony\Component\DependencyInjection\ContainerBuilder;
+use Symfony\Component\DependencyInjection\Definition;
 use Symfony\Component\DependencyInjection\Reference;
 use Symfony\Component\DependencyInjection\Tests\Fixtures\CaseSensitiveClass;
 use Symfony\Component\DependencyInjection\Tests\Fixtures\NamedArgumentsDummy;
@@ -111,4 +112,24 @@ public function testScalarSetter()
 
         $this->assertEquals([['setDefaultLocale', ['fr']]], $definition->getMethodCalls());
     }
+
+    /**
+     * @expectedException \Symfony\Component\DependencyInjection\Exception\RuntimeException
+     * @exceptedExceptionMessage Invalid service "Symfony\Component\DependencyInjection\Tests\Fixtures\NamedArgumentsDummy": method "setLogger()" does not exist.
+     */
+    public function testWithNonExistingSetterAndBinding()
+    {
+        $container = new ContainerBuilder();
+
+        $bindings = [
+            '$c' => (new Definition('logger'))->setFactory('logger'),
+        ];
+
+        $definition = $container->register(NamedArgumentsDummy::class, NamedArgumentsDummy::class);
+        $definition->addMethodCall('setLogger');
+        $definition->setBindings($bindings);
+
+        $pass = new ResolveBindingsPass();
+        $pass->process($container);
+    }
 }
diff --git a/vendor/symfony/dependency-injection/Tests/ContainerBuilderTest.php b/vendor/symfony/dependency-injection/Tests/ContainerBuilderTest.php
index 40afaa169d02e49874e46f09e1749260bdb071db..73cb670cdb1212e90b8ff4fe96acb7e26e55ebc2 100644
--- a/vendor/symfony/dependency-injection/Tests/ContainerBuilderTest.php
+++ b/vendor/symfony/dependency-injection/Tests/ContainerBuilderTest.php
@@ -195,6 +195,38 @@ public function testNonSharedServicesReturnsDifferentInstances()
         $this->assertNotSame($builder->get('bar'), $builder->get('bar'));
     }
 
+    /**
+     * @expectedException \Symfony\Component\DependencyInjection\Exception\InvalidArgumentException
+     * @dataProvider provideBadId
+     */
+    public function testBadAliasId($id)
+    {
+        $builder = new ContainerBuilder();
+        $builder->setAlias($id, 'foo');
+    }
+
+    /**
+     * @expectedException \Symfony\Component\DependencyInjection\Exception\InvalidArgumentException
+     * @dataProvider provideBadId
+     */
+    public function testBadDefinitionId($id)
+    {
+        $builder = new ContainerBuilder();
+        $builder->setDefinition($id, new Definition('Foo'));
+    }
+
+    public function provideBadId()
+    {
+        return [
+            [''],
+            ["\0"],
+            ["\r"],
+            ["\n"],
+            ["'"],
+            ['ab\\'],
+        ];
+    }
+
     /**
      * @expectedException        \Symfony\Component\DependencyInjection\Exception\RuntimeException
      * @expectedExceptionMessage You have requested a synthetic service ("foo"). The DIC does not know how to construct this service.
diff --git a/vendor/symfony/dependency-injection/Tests/Dumper/PhpDumperTest.php b/vendor/symfony/dependency-injection/Tests/Dumper/PhpDumperTest.php
index 6d985eaca360b0c57ef72054a218845740489a4a..761f7ef4dd08f6319fab5993df095b98345357e8 100644
--- a/vendor/symfony/dependency-injection/Tests/Dumper/PhpDumperTest.php
+++ b/vendor/symfony/dependency-injection/Tests/Dumper/PhpDumperTest.php
@@ -234,12 +234,18 @@ public function testAddServiceIdWithUnsupportedCharacters()
     {
         $class = 'Symfony_DI_PhpDumper_Test_Unsupported_Characters';
         $container = new ContainerBuilder();
+        $container->setParameter("'", 'oh-no');
+        $container->register("foo*/oh-no", 'FooClass')->setPublic(true);
         $container->register('bar$', 'FooClass')->setPublic(true);
         $container->register('bar$!', 'FooClass')->setPublic(true);
         $container->compile();
         $dumper = new PhpDumper($container);
-        eval('?>'.$dumper->dump(['class' => $class]));
 
+        $this->assertStringEqualsFile(self::$fixturesPath.'/php/services_unsupported_characters.php', $dumper->dump(['class' => $class]));
+
+        require_once self::$fixturesPath.'/php/services_unsupported_characters.php';
+
+        $this->assertTrue(method_exists($class, 'getFooOhNoService'));
         $this->assertTrue(method_exists($class, 'getBarService'));
         $this->assertTrue(method_exists($class, 'getBar2Service'));
     }
diff --git a/vendor/symfony/dependency-injection/Tests/Dumper/XmlDumperTest.php b/vendor/symfony/dependency-injection/Tests/Dumper/XmlDumperTest.php
index ac274c6f26267833dadd07ab73ec4b32ddeb0f84..e660c7e801547117ee83c41068af81fd6ae80a94 100644
--- a/vendor/symfony/dependency-injection/Tests/Dumper/XmlDumperTest.php
+++ b/vendor/symfony/dependency-injection/Tests/Dumper/XmlDumperTest.php
@@ -72,7 +72,7 @@ public function testDumpAnonymousServices()
         $container = include self::$fixturesPath.'/containers/container11.php';
         $dumper = new XmlDumper($container);
         $this->assertEquals('<?xml version="1.0" encoding="utf-8"?>
-<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
+<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
   <services>
     <service id="service_container" class="Symfony\Component\DependencyInjection\ContainerInterface" public="true" synthetic="true"/>
     <service id="foo" class="FooClass" public="true">
@@ -96,7 +96,7 @@ public function testDumpEntities()
         $container = include self::$fixturesPath.'/containers/container12.php';
         $dumper = new XmlDumper($container);
         $this->assertEquals("<?xml version=\"1.0\" encoding=\"utf-8\"?>
-<container xmlns=\"http://symfony.com/schema/dic/services\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd\">
+<container xmlns=\"http://symfony.com/schema/dic/services\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd\">
   <services>
     <service id=\"service_container\" class=\"Symfony\Component\DependencyInjection\ContainerInterface\" public=\"true\" synthetic=\"true\"/>
     <service id=\"foo\" class=\"FooClass\Foo\" public=\"true\">
@@ -125,7 +125,7 @@ public function provideDecoratedServicesData()
 
         return [
             ["<?xml version=\"1.0\" encoding=\"utf-8\"?>
-<container xmlns=\"http://symfony.com/schema/dic/services\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd\">
+<container xmlns=\"http://symfony.com/schema/dic/services\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd\">
   <services>
     <service id=\"service_container\" class=\"Symfony\Component\DependencyInjection\ContainerInterface\" public=\"true\" synthetic=\"true\"/>
     <service id=\"foo\" class=\"FooClass\Foo\" public=\"true\" decorates=\"bar\" decoration-inner-name=\"bar.woozy\"/>
@@ -135,7 +135,7 @@ public function provideDecoratedServicesData()
 </container>
 ", include $fixturesPath.'/containers/container15.php'],
             ["<?xml version=\"1.0\" encoding=\"utf-8\"?>
-<container xmlns=\"http://symfony.com/schema/dic/services\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd\">
+<container xmlns=\"http://symfony.com/schema/dic/services\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd\">
   <services>
     <service id=\"service_container\" class=\"Symfony\Component\DependencyInjection\ContainerInterface\" public=\"true\" synthetic=\"true\"/>
     <service id=\"foo\" class=\"FooClass\Foo\" public=\"true\" decorates=\"bar\"/>
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/Bar.php b/vendor/symfony/dependency-injection/Tests/Fixtures/Bar.php
index 83f2da12a70ab9b15666269b2f226eed9f64871f..1aaca2f1560c95a1c33be302985a5474e7bf18c0 100644
--- a/vendor/symfony/dependency-injection/Tests/Fixtures/Bar.php
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/Bar.php
@@ -13,8 +13,11 @@
 
 class Bar implements BarInterface
 {
+    public $quz;
+
     public function __construct($quz = null, \NonExistent $nonExistent = null, BarInterface $decorated = null, array $foo = [])
     {
+        $this->quz = $quz;
     }
 
     public static function create(\NonExistent $nonExistent = null, $factory = null)
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/php/services33.php b/vendor/symfony/dependency-injection/Tests/Fixtures/php/services33.php
index 98e34bc9b1f5e86a016b4a684581a77ee27349a9..d4019a50a7ed50a983092050380bb5f206f1d943 100644
--- a/vendor/symfony/dependency-injection/Tests/Fixtures/php/services33.php
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/php/services33.php
@@ -66,7 +66,7 @@ public function isFrozen()
      */
     protected function getFooService()
     {
-        return $this->services['Bar\Foo'] = new \Bar\Foo();
+        return $this->services['Bar\\Foo'] = new \Bar\Foo();
     }
 
     /**
@@ -76,6 +76,6 @@ protected function getFooService()
      */
     protected function getFoo2Service()
     {
-        return $this->services['Foo\Foo'] = new \Foo\Foo();
+        return $this->services['Foo\\Foo'] = new \Foo\Foo();
     }
 }
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/php/services_adawson.php b/vendor/symfony/dependency-injection/Tests/Fixtures/php/services_adawson.php
index f222fc6e606f385590b6d706c131c4ada41e5f73..7986897d375ab44bc42e73ba5bde14384085697b 100644
--- a/vendor/symfony/dependency-injection/Tests/Fixtures/php/services_adawson.php
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/php/services_adawson.php
@@ -88,10 +88,10 @@ public function isFrozen()
      */
     protected function getBusService()
     {
-        $this->services['App\Bus'] = $instance = new \App\Bus(${($_ = isset($this->services['App\Db']) ? $this->services['App\Db'] : $this->getDbService()) && false ?: '_'});
+        $this->services['App\\Bus'] = $instance = new \App\Bus(${($_ = isset($this->services['App\\Db']) ? $this->services['App\\Db'] : $this->getDbService()) && false ?: '_'});
 
-        $instance->handler1 = ${($_ = isset($this->services['App\Handler1']) ? $this->services['App\Handler1'] : $this->getHandler1Service()) && false ?: '_'};
-        $instance->handler2 = ${($_ = isset($this->services['App\Handler2']) ? $this->services['App\Handler2'] : $this->getHandler2Service()) && false ?: '_'};
+        $instance->handler1 = ${($_ = isset($this->services['App\\Handler1']) ? $this->services['App\\Handler1'] : $this->getHandler1Service()) && false ?: '_'};
+        $instance->handler2 = ${($_ = isset($this->services['App\\Handler2']) ? $this->services['App\\Handler2'] : $this->getHandler2Service()) && false ?: '_'};
 
         return $instance;
     }
@@ -103,9 +103,9 @@ protected function getBusService()
      */
     protected function getDbService()
     {
-        $this->services['App\Db'] = $instance = new \App\Db();
+        $this->services['App\\Db'] = $instance = new \App\Db();
 
-        $instance->schema = ${($_ = isset($this->services['App\Schema']) ? $this->services['App\Schema'] : $this->getSchemaService()) && false ?: '_'};
+        $instance->schema = ${($_ = isset($this->services['App\\Schema']) ? $this->services['App\\Schema'] : $this->getSchemaService()) && false ?: '_'};
 
         return $instance;
     }
@@ -117,13 +117,13 @@ protected function getDbService()
      */
     protected function getHandler1Service()
     {
-        $a = ${($_ = isset($this->services['App\Processor']) ? $this->services['App\Processor'] : $this->getProcessorService()) && false ?: '_'};
+        $a = ${($_ = isset($this->services['App\\Processor']) ? $this->services['App\\Processor'] : $this->getProcessorService()) && false ?: '_'};
 
-        if (isset($this->services['App\Handler1'])) {
-            return $this->services['App\Handler1'];
+        if (isset($this->services['App\\Handler1'])) {
+            return $this->services['App\\Handler1'];
         }
 
-        return $this->services['App\Handler1'] = new \App\Handler1(${($_ = isset($this->services['App\Db']) ? $this->services['App\Db'] : $this->getDbService()) && false ?: '_'}, ${($_ = isset($this->services['App\Schema']) ? $this->services['App\Schema'] : $this->getSchemaService()) && false ?: '_'}, $a);
+        return $this->services['App\\Handler1'] = new \App\Handler1(${($_ = isset($this->services['App\\Db']) ? $this->services['App\\Db'] : $this->getDbService()) && false ?: '_'}, ${($_ = isset($this->services['App\\Schema']) ? $this->services['App\\Schema'] : $this->getSchemaService()) && false ?: '_'}, $a);
     }
 
     /**
@@ -133,13 +133,13 @@ protected function getHandler1Service()
      */
     protected function getHandler2Service()
     {
-        $a = ${($_ = isset($this->services['App\Processor']) ? $this->services['App\Processor'] : $this->getProcessorService()) && false ?: '_'};
+        $a = ${($_ = isset($this->services['App\\Processor']) ? $this->services['App\\Processor'] : $this->getProcessorService()) && false ?: '_'};
 
-        if (isset($this->services['App\Handler2'])) {
-            return $this->services['App\Handler2'];
+        if (isset($this->services['App\\Handler2'])) {
+            return $this->services['App\\Handler2'];
         }
 
-        return $this->services['App\Handler2'] = new \App\Handler2(${($_ = isset($this->services['App\Db']) ? $this->services['App\Db'] : $this->getDbService()) && false ?: '_'}, ${($_ = isset($this->services['App\Schema']) ? $this->services['App\Schema'] : $this->getSchemaService()) && false ?: '_'}, $a);
+        return $this->services['App\\Handler2'] = new \App\Handler2(${($_ = isset($this->services['App\\Db']) ? $this->services['App\\Db'] : $this->getDbService()) && false ?: '_'}, ${($_ = isset($this->services['App\\Schema']) ? $this->services['App\\Schema'] : $this->getSchemaService()) && false ?: '_'}, $a);
     }
 
     /**
@@ -149,13 +149,13 @@ protected function getHandler2Service()
      */
     protected function getProcessorService()
     {
-        $a = ${($_ = isset($this->services['App\Registry']) ? $this->services['App\Registry'] : $this->getRegistryService()) && false ?: '_'};
+        $a = ${($_ = isset($this->services['App\\Registry']) ? $this->services['App\\Registry'] : $this->getRegistryService()) && false ?: '_'};
 
-        if (isset($this->services['App\Processor'])) {
-            return $this->services['App\Processor'];
+        if (isset($this->services['App\\Processor'])) {
+            return $this->services['App\\Processor'];
         }
 
-        return $this->services['App\Processor'] = new \App\Processor($a, ${($_ = isset($this->services['App\Db']) ? $this->services['App\Db'] : $this->getDbService()) && false ?: '_'});
+        return $this->services['App\\Processor'] = new \App\Processor($a, ${($_ = isset($this->services['App\\Db']) ? $this->services['App\\Db'] : $this->getDbService()) && false ?: '_'});
     }
 
     /**
@@ -165,9 +165,9 @@ protected function getProcessorService()
      */
     protected function getRegistryService()
     {
-        $this->services['App\Registry'] = $instance = new \App\Registry();
+        $this->services['App\\Registry'] = $instance = new \App\Registry();
 
-        $instance->processor = [0 => ${($_ = isset($this->services['App\Db']) ? $this->services['App\Db'] : $this->getDbService()) && false ?: '_'}, 1 => ${($_ = isset($this->services['App\Bus']) ? $this->services['App\Bus'] : $this->getBusService()) && false ?: '_'}];
+        $instance->processor = [0 => ${($_ = isset($this->services['App\\Db']) ? $this->services['App\\Db'] : $this->getDbService()) && false ?: '_'}, 1 => ${($_ = isset($this->services['App\\Bus']) ? $this->services['App\\Bus'] : $this->getBusService()) && false ?: '_'}];
 
         return $instance;
     }
@@ -179,12 +179,12 @@ protected function getRegistryService()
      */
     protected function getSchemaService()
     {
-        $a = ${($_ = isset($this->services['App\Db']) ? $this->services['App\Db'] : $this->getDbService()) && false ?: '_'};
+        $a = ${($_ = isset($this->services['App\\Db']) ? $this->services['App\\Db'] : $this->getDbService()) && false ?: '_'};
 
-        if (isset($this->services['App\Schema'])) {
-            return $this->services['App\Schema'];
+        if (isset($this->services['App\\Schema'])) {
+            return $this->services['App\\Schema'];
         }
 
-        return $this->services['App\Schema'] = new \App\Schema($a);
+        return $this->services['App\\Schema'] = new \App\Schema($a);
     }
 }
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/php/services_inline_requires.php b/vendor/symfony/dependency-injection/Tests/Fixtures/php/services_inline_requires.php
index a23a693674134a9233866b3cd22efc122c986fd2..59582d9eb57504485e4614d07e18a6d97762cb82 100644
--- a/vendor/symfony/dependency-injection/Tests/Fixtures/php/services_inline_requires.php
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/php/services_inline_requires.php
@@ -87,7 +87,7 @@ public function isFrozen()
      */
     protected function getParentNotExistsService()
     {
-        return $this->services['Symfony\Component\DependencyInjection\Tests\Fixtures\ParentNotExists'] = new \Symfony\Component\DependencyInjection\Tests\Fixtures\ParentNotExists();
+        return $this->services['Symfony\\Component\\DependencyInjection\\Tests\\Fixtures\\ParentNotExists'] = new \Symfony\Component\DependencyInjection\Tests\Fixtures\ParentNotExists();
     }
 
     /**
@@ -97,7 +97,7 @@ protected function getParentNotExistsService()
      */
     protected function getC1Service()
     {
-        return $this->services['Symfony\Component\DependencyInjection\Tests\Fixtures\includes\HotPath\C1'] = new \Symfony\Component\DependencyInjection\Tests\Fixtures\includes\HotPath\C1();
+        return $this->services['Symfony\\Component\\DependencyInjection\\Tests\\Fixtures\\includes\\HotPath\\C1'] = new \Symfony\Component\DependencyInjection\Tests\Fixtures\includes\HotPath\C1();
     }
 
     /**
@@ -110,7 +110,7 @@ protected function getC2Service()
         include_once $this->targetDirs[1].'/includes/HotPath/C2.php';
         include_once $this->targetDirs[1].'/includes/HotPath/C3.php';
 
-        return $this->services['Symfony\Component\DependencyInjection\Tests\Fixtures\includes\HotPath\C2'] = new \Symfony\Component\DependencyInjection\Tests\Fixtures\includes\HotPath\C2(${($_ = isset($this->services['Symfony\Component\DependencyInjection\Tests\Fixtures\includes\HotPath\C3']) ? $this->services['Symfony\Component\DependencyInjection\Tests\Fixtures\includes\HotPath\C3'] : ($this->services['Symfony\Component\DependencyInjection\Tests\Fixtures\includes\HotPath\C3'] = new \Symfony\Component\DependencyInjection\Tests\Fixtures\includes\HotPath\C3())) && false ?: '_'});
+        return $this->services['Symfony\\Component\\DependencyInjection\\Tests\\Fixtures\\includes\\HotPath\\C2'] = new \Symfony\Component\DependencyInjection\Tests\Fixtures\includes\HotPath\C2(${($_ = isset($this->services['Symfony\\Component\\DependencyInjection\\Tests\\Fixtures\\includes\\HotPath\\C3']) ? $this->services['Symfony\\Component\\DependencyInjection\\Tests\\Fixtures\\includes\\HotPath\\C3'] : ($this->services['Symfony\\Component\\DependencyInjection\\Tests\\Fixtures\\includes\\HotPath\\C3'] = new \Symfony\Component\DependencyInjection\Tests\Fixtures\includes\HotPath\C3())) && false ?: '_'});
     }
 
     /**
@@ -122,7 +122,7 @@ protected function getC3Service()
     {
         include_once $this->targetDirs[1].'/includes/HotPath/C3.php';
 
-        return $this->services['Symfony\Component\DependencyInjection\Tests\Fixtures\includes\HotPath\C3'] = new \Symfony\Component\DependencyInjection\Tests\Fixtures\includes\HotPath\C3();
+        return $this->services['Symfony\\Component\\DependencyInjection\\Tests\\Fixtures\\includes\\HotPath\\C3'] = new \Symfony\Component\DependencyInjection\Tests\Fixtures\includes\HotPath\C3();
     }
 
     public function getParameter($name)
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/php/services_inline_self_ref.php b/vendor/symfony/dependency-injection/Tests/Fixtures/php/services_inline_self_ref.php
index a2573eae6d3a95c8c70d1a384637a68b67bfe85c..271aeb668b272e7151e7257c6422b225d741c4ad 100644
--- a/vendor/symfony/dependency-injection/Tests/Fixtures/php/services_inline_self_ref.php
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/php/services_inline_self_ref.php
@@ -69,7 +69,7 @@ protected function getFooService()
         $b = new \App\Baz($a);
         $b->bar = $a;
 
-        $this->services['App\Foo'] = $instance = new \App\Foo($b);
+        $this->services['App\\Foo'] = $instance = new \App\Foo($b);
 
         $a->foo = $instance;
 
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/php/services_rot13_env.php b/vendor/symfony/dependency-injection/Tests/Fixtures/php/services_rot13_env.php
index 7c903b11d0720d54ab9d2aebf76f64ee02f0caa1..8d1465c44ba3a276b1453bf5d4044f1934c8400f 100644
--- a/vendor/symfony/dependency-injection/Tests/Fixtures/php/services_rot13_env.php
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/php/services_rot13_env.php
@@ -67,7 +67,7 @@ public function isFrozen()
      */
     protected function getRot13EnvVarProcessorService()
     {
-        return $this->services['Symfony\Component\DependencyInjection\Tests\Dumper\Rot13EnvVarProcessor'] = new \Symfony\Component\DependencyInjection\Tests\Dumper\Rot13EnvVarProcessor();
+        return $this->services['Symfony\\Component\\DependencyInjection\\Tests\\Dumper\\Rot13EnvVarProcessor'] = new \Symfony\Component\DependencyInjection\Tests\Dumper\Rot13EnvVarProcessor();
     }
 
     /**
@@ -78,7 +78,7 @@ protected function getRot13EnvVarProcessorService()
     protected function getContainer_EnvVarProcessorsLocatorService()
     {
         return $this->services['container.env_var_processors_locator'] = new \Symfony\Component\DependencyInjection\ServiceLocator(['rot13' => function () {
-            return ${($_ = isset($this->services['Symfony\Component\DependencyInjection\Tests\Dumper\Rot13EnvVarProcessor']) ? $this->services['Symfony\Component\DependencyInjection\Tests\Dumper\Rot13EnvVarProcessor'] : ($this->services['Symfony\Component\DependencyInjection\Tests\Dumper\Rot13EnvVarProcessor'] = new \Symfony\Component\DependencyInjection\Tests\Dumper\Rot13EnvVarProcessor())) && false ?: '_'};
+            return ${($_ = isset($this->services['Symfony\\Component\\DependencyInjection\\Tests\\Dumper\\Rot13EnvVarProcessor']) ? $this->services['Symfony\\Component\\DependencyInjection\\Tests\\Dumper\\Rot13EnvVarProcessor'] : ($this->services['Symfony\\Component\\DependencyInjection\\Tests\\Dumper\\Rot13EnvVarProcessor'] = new \Symfony\Component\DependencyInjection\Tests\Dumper\Rot13EnvVarProcessor())) && false ?: '_'};
         }]);
     }
 
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/php/services_subscriber.php b/vendor/symfony/dependency-injection/Tests/Fixtures/php/services_subscriber.php
index 9424a7611433bf817392d4aed44863c43a94756c..dbb51eab328528bd5ccd52878d4435624d9ac73b 100644
--- a/vendor/symfony/dependency-injection/Tests/Fixtures/php/services_subscriber.php
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/php/services_subscriber.php
@@ -73,7 +73,7 @@ public function isFrozen()
      */
     protected function getTestServiceSubscriberService()
     {
-        return $this->services['Symfony\Component\DependencyInjection\Tests\Fixtures\TestServiceSubscriber'] = new \Symfony\Component\DependencyInjection\Tests\Fixtures\TestServiceSubscriber();
+        return $this->services['Symfony\\Component\\DependencyInjection\\Tests\\Fixtures\\TestServiceSubscriber'] = new \Symfony\Component\DependencyInjection\Tests\Fixtures\TestServiceSubscriber();
     }
 
     /**
@@ -84,13 +84,13 @@ protected function getTestServiceSubscriberService()
     protected function getFooServiceService()
     {
         return $this->services['foo_service'] = new \Symfony\Component\DependencyInjection\Tests\Fixtures\TestServiceSubscriber((new \Symfony\Component\DependencyInjection\ServiceLocator(['Symfony\\Component\\DependencyInjection\\Tests\\Fixtures\\CustomDefinition' => function () {
-            $f = function (\Symfony\Component\DependencyInjection\Tests\Fixtures\CustomDefinition $v = null) { return $v; }; return $f(${($_ = isset($this->services['Symfony\Component\DependencyInjection\Tests\Fixtures\CustomDefinition']) ? $this->services['Symfony\Component\DependencyInjection\Tests\Fixtures\CustomDefinition'] : ($this->services['Symfony\Component\DependencyInjection\Tests\Fixtures\CustomDefinition'] = new \Symfony\Component\DependencyInjection\Tests\Fixtures\CustomDefinition())) && false ?: '_'});
+            $f = function (\Symfony\Component\DependencyInjection\Tests\Fixtures\CustomDefinition $v = null) { return $v; }; return $f(${($_ = isset($this->services['Symfony\\Component\\DependencyInjection\\Tests\\Fixtures\\CustomDefinition']) ? $this->services['Symfony\\Component\\DependencyInjection\\Tests\\Fixtures\\CustomDefinition'] : ($this->services['Symfony\\Component\\DependencyInjection\\Tests\\Fixtures\\CustomDefinition'] = new \Symfony\Component\DependencyInjection\Tests\Fixtures\CustomDefinition())) && false ?: '_'});
         }, 'Symfony\\Component\\DependencyInjection\\Tests\\Fixtures\\TestServiceSubscriber' => function () {
-            $f = function (\Symfony\Component\DependencyInjection\Tests\Fixtures\TestServiceSubscriber $v) { return $v; }; return $f(${($_ = isset($this->services['Symfony\Component\DependencyInjection\Tests\Fixtures\TestServiceSubscriber']) ? $this->services['Symfony\Component\DependencyInjection\Tests\Fixtures\TestServiceSubscriber'] : ($this->services['Symfony\Component\DependencyInjection\Tests\Fixtures\TestServiceSubscriber'] = new \Symfony\Component\DependencyInjection\Tests\Fixtures\TestServiceSubscriber())) && false ?: '_'});
+            $f = function (\Symfony\Component\DependencyInjection\Tests\Fixtures\TestServiceSubscriber $v) { return $v; }; return $f(${($_ = isset($this->services['Symfony\\Component\\DependencyInjection\\Tests\\Fixtures\\TestServiceSubscriber']) ? $this->services['Symfony\\Component\\DependencyInjection\\Tests\\Fixtures\\TestServiceSubscriber'] : ($this->services['Symfony\\Component\\DependencyInjection\\Tests\\Fixtures\\TestServiceSubscriber'] = new \Symfony\Component\DependencyInjection\Tests\Fixtures\TestServiceSubscriber())) && false ?: '_'});
         }, 'bar' => function () {
-            $f = function (\Symfony\Component\DependencyInjection\Tests\Fixtures\CustomDefinition $v) { return $v; }; return $f(${($_ = isset($this->services['Symfony\Component\DependencyInjection\Tests\Fixtures\TestServiceSubscriber']) ? $this->services['Symfony\Component\DependencyInjection\Tests\Fixtures\TestServiceSubscriber'] : ($this->services['Symfony\Component\DependencyInjection\Tests\Fixtures\TestServiceSubscriber'] = new \Symfony\Component\DependencyInjection\Tests\Fixtures\TestServiceSubscriber())) && false ?: '_'});
+            $f = function (\Symfony\Component\DependencyInjection\Tests\Fixtures\CustomDefinition $v) { return $v; }; return $f(${($_ = isset($this->services['Symfony\\Component\\DependencyInjection\\Tests\\Fixtures\\TestServiceSubscriber']) ? $this->services['Symfony\\Component\\DependencyInjection\\Tests\\Fixtures\\TestServiceSubscriber'] : ($this->services['Symfony\\Component\\DependencyInjection\\Tests\\Fixtures\\TestServiceSubscriber'] = new \Symfony\Component\DependencyInjection\Tests\Fixtures\TestServiceSubscriber())) && false ?: '_'});
         }, 'baz' => function () {
-            $f = function (\Symfony\Component\DependencyInjection\Tests\Fixtures\CustomDefinition $v = null) { return $v; }; return $f(${($_ = isset($this->services['Symfony\Component\DependencyInjection\Tests\Fixtures\CustomDefinition']) ? $this->services['Symfony\Component\DependencyInjection\Tests\Fixtures\CustomDefinition'] : ($this->services['Symfony\Component\DependencyInjection\Tests\Fixtures\CustomDefinition'] = new \Symfony\Component\DependencyInjection\Tests\Fixtures\CustomDefinition())) && false ?: '_'});
+            $f = function (\Symfony\Component\DependencyInjection\Tests\Fixtures\CustomDefinition $v = null) { return $v; }; return $f(${($_ = isset($this->services['Symfony\\Component\\DependencyInjection\\Tests\\Fixtures\\CustomDefinition']) ? $this->services['Symfony\\Component\\DependencyInjection\\Tests\\Fixtures\\CustomDefinition'] : ($this->services['Symfony\\Component\\DependencyInjection\\Tests\\Fixtures\\CustomDefinition'] = new \Symfony\Component\DependencyInjection\Tests\Fixtures\CustomDefinition())) && false ?: '_'});
         }]))->withContext('foo_service', $this));
     }
 
@@ -101,6 +101,6 @@ protected function getFooServiceService()
      */
     protected function getCustomDefinitionService()
     {
-        return $this->services['Symfony\Component\DependencyInjection\Tests\Fixtures\CustomDefinition'] = new \Symfony\Component\DependencyInjection\Tests\Fixtures\CustomDefinition();
+        return $this->services['Symfony\\Component\\DependencyInjection\\Tests\\Fixtures\\CustomDefinition'] = new \Symfony\Component\DependencyInjection\Tests\Fixtures\CustomDefinition();
     }
 }
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/php/services_unsupported_characters.php b/vendor/symfony/dependency-injection/Tests/Fixtures/php/services_unsupported_characters.php
new file mode 100644
index 0000000000000000000000000000000000000000..a4c841cabe6e04eec32c141072f5578473ff1bee
--- /dev/null
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/php/services_unsupported_characters.php
@@ -0,0 +1,178 @@
+<?php
+
+use Symfony\Component\DependencyInjection\Argument\RewindableGenerator;
+use Symfony\Component\DependencyInjection\ContainerInterface;
+use Symfony\Component\DependencyInjection\Container;
+use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException;
+use Symfony\Component\DependencyInjection\Exception\LogicException;
+use Symfony\Component\DependencyInjection\Exception\RuntimeException;
+use Symfony\Component\DependencyInjection\ParameterBag\FrozenParameterBag;
+
+/**
+ * This class has been auto-generated
+ * by the Symfony Dependency Injection Component.
+ *
+ * @final since Symfony 3.3
+ */
+class Symfony_DI_PhpDumper_Test_Unsupported_Characters extends Container
+{
+    private $parameters;
+    private $targetDirs = [];
+
+    public function __construct()
+    {
+        $this->parameters = $this->getDefaultParameters();
+
+        $this->services = [];
+        $this->methodMap = [
+            'bar$' => 'getBarService',
+            'bar$!' => 'getBar2Service',
+            'foo*/oh-no' => 'getFooohnoService',
+        ];
+
+        $this->aliases = [];
+    }
+
+    public function getRemovedIds()
+    {
+        return [
+            'Psr\\Container\\ContainerInterface' => true,
+            'Symfony\\Component\\DependencyInjection\\ContainerInterface' => true,
+        ];
+    }
+
+    public function compile()
+    {
+        throw new LogicException('You cannot compile a dumped container that was already compiled.');
+    }
+
+    public function isCompiled()
+    {
+        return true;
+    }
+
+    public function isFrozen()
+    {
+        @trigger_error(sprintf('The %s() method is deprecated since Symfony 3.3 and will be removed in 4.0. Use the isCompiled() method instead.', __METHOD__), E_USER_DEPRECATED);
+
+        return true;
+    }
+
+    /**
+     * Gets the public 'bar$' shared service.
+     *
+     * @return \FooClass
+     */
+    protected function getBarService()
+    {
+        return $this->services['bar$'] = new \FooClass();
+    }
+
+    /**
+     * Gets the public 'bar$!' shared service.
+     *
+     * @return \FooClass
+     */
+    protected function getBar2Service()
+    {
+        return $this->services['bar$!'] = new \FooClass();
+    }
+
+    /**
+     * Gets the public 'foo oh-no' shared service.
+     *
+     * @return \FooClass
+     */
+    protected function getFooohnoService()
+    {
+        return $this->services['foo*/oh-no'] = new \FooClass();
+    }
+
+    public function getParameter($name)
+    {
+        $name = (string) $name;
+        if (!(isset($this->parameters[$name]) || isset($this->loadedDynamicParameters[$name]) || array_key_exists($name, $this->parameters))) {
+            $name = $this->normalizeParameterName($name);
+
+            if (!(isset($this->parameters[$name]) || isset($this->loadedDynamicParameters[$name]) || array_key_exists($name, $this->parameters))) {
+                throw new InvalidArgumentException(sprintf('The parameter "%s" must be defined.', $name));
+            }
+        }
+        if (isset($this->loadedDynamicParameters[$name])) {
+            return $this->loadedDynamicParameters[$name] ? $this->dynamicParameters[$name] : $this->getDynamicParameter($name);
+        }
+
+        return $this->parameters[$name];
+    }
+
+    public function hasParameter($name)
+    {
+        $name = (string) $name;
+        $name = $this->normalizeParameterName($name);
+
+        return isset($this->parameters[$name]) || isset($this->loadedDynamicParameters[$name]) || array_key_exists($name, $this->parameters);
+    }
+
+    public function setParameter($name, $value)
+    {
+        throw new LogicException('Impossible to call set() on a frozen ParameterBag.');
+    }
+
+    public function getParameterBag()
+    {
+        if (null === $this->parameterBag) {
+            $parameters = $this->parameters;
+            foreach ($this->loadedDynamicParameters as $name => $loaded) {
+                $parameters[$name] = $loaded ? $this->dynamicParameters[$name] : $this->getDynamicParameter($name);
+            }
+            $this->parameterBag = new FrozenParameterBag($parameters);
+        }
+
+        return $this->parameterBag;
+    }
+
+    private $loadedDynamicParameters = [];
+    private $dynamicParameters = [];
+
+    /**
+     * Computes a dynamic parameter.
+     *
+     * @param string $name The name of the dynamic parameter to load
+     *
+     * @return mixed The value of the dynamic parameter
+     *
+     * @throws InvalidArgumentException When the dynamic parameter does not exist
+     */
+    private function getDynamicParameter($name)
+    {
+        throw new InvalidArgumentException(sprintf('The dynamic parameter "%s" must be defined.', $name));
+    }
+
+    private $normalizedParameterNames = [];
+
+    private function normalizeParameterName($name)
+    {
+        if (isset($this->normalizedParameterNames[$normalizedName = strtolower($name)]) || isset($this->parameters[$normalizedName]) || array_key_exists($normalizedName, $this->parameters)) {
+            $normalizedName = isset($this->normalizedParameterNames[$normalizedName]) ? $this->normalizedParameterNames[$normalizedName] : $normalizedName;
+            if ((string) $name !== $normalizedName) {
+                @trigger_error(sprintf('Parameter names will be made case sensitive in Symfony 4.0. Using "%s" instead of "%s" is deprecated since Symfony 3.4.', $name, $normalizedName), E_USER_DEPRECATED);
+            }
+        } else {
+            $normalizedName = $this->normalizedParameterNames[$normalizedName] = (string) $name;
+        }
+
+        return $normalizedName;
+    }
+
+    /**
+     * Gets the default parameters.
+     *
+     * @return array An array of the default parameters
+     */
+    protected function getDefaultParameters()
+    {
+        return [
+            '\'' => 'oh-no',
+        ];
+    }
+}
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/class_from_id.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/class_from_id.xml
index 45415cce472f08300fa5091503c188256d17a50c..5b74100908724515d02ecc517766c02c23f51c53 100644
--- a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/class_from_id.xml
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/class_from_id.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
+<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
   <services>
     <service id="Symfony\Component\DependencyInjection\Tests\Fixtures\CaseSensitiveClass" />
   </services>
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/defaults_bindings.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/defaults_bindings.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d943dfad2d7f7709edf13b9be7277faea16e58d1
--- /dev/null
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/defaults_bindings.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
+    <services>
+        <defaults>
+            <bind key="$quz">value</bind>
+            <bind key="$foo" type="collection">
+                <bind>value</bind>
+            </bind>
+        </defaults>
+
+        <service id="bar" class="Symfony\Component\DependencyInjection\Tests\Fixtures\Bar"/>
+
+        <service id="foo" class="stdClass"/>
+    </services>
+</container>
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/defaults_bindings2.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/defaults_bindings2.xml
new file mode 100644
index 0000000000000000000000000000000000000000..db41330f854eb9a907bd8a49907702aa06f4c549
--- /dev/null
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/defaults_bindings2.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
+    <services>
+        <defaults>
+            <bind key="$quz">overridden</bind>
+        </defaults>
+
+        <service id="bar" class="Symfony\Component\DependencyInjection\Tests\Fixtures\Bar"/>
+    </services>
+</container>
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extension1/services.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extension1/services.xml
index 52df38d0c99c061453d7fbaa71c6071088a326cd..1323dd5f20a4eaf87998dedaadff76982094fb33 100644
--- a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extension1/services.xml
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extension1/services.xml
@@ -2,7 +2,7 @@
 
 <container xmlns="http://symfony.com/schema/dic/services"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
+    xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
   <services>
     <service id="extension1.foo" class="FooClass1">
       <argument type="service">
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extension2/services.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extension2/services.xml
index 21a7ef58c0eaafdccf9ba9dba73f6e84b36d8ddd..f9c01225dc4b07e80b619749e4c94493eb35e6a1 100644
--- a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extension2/services.xml
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extension2/services.xml
@@ -2,7 +2,7 @@
 
 <container xmlns="http://symfony.com/schema/dic/services"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
+    xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
   <services>
     <service id="extension2.foo" class="FooClass2">
       <argument type="service">
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services2.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services2.xml
index 67d462be98fbb43c96c94c2a8c08e8a04d355fb5..65c90696a6645bf8fc496564c93296925d16a09d 100644
--- a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services2.xml
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services2.xml
@@ -3,7 +3,7 @@
 <container xmlns="http://symfony.com/schema/dic/services"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns:project="http://www.example.com/schema/projectwithxsd"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd
+    xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd
                         http://www.example.com/schema/projectwithxsd http://www.example.com/schema/projectwithxsd/project-1.0.xsd">
 
     <parameters>
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services3.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services3.xml
index c23f02a08775069524ae66ce8378d1981cd2440f..4c81844876f7f70871cad2d73aa4ef076d21f9c8 100644
--- a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services3.xml
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services3.xml
@@ -3,7 +3,7 @@
 <container xmlns="http://symfony.com/schema/dic/services"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns:project="http://www.example.com/schema/projectwithxsd"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd
+    xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd
                         http://www.example.com/schema/projectwithxsd http://www.example.com/schema/projectwithxsd/project-1.0.xsd">
 
     <parameters>
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services5.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services5.xml
index 0eaaff2d2cddc604d9bbd5d373a6a9bdeddcefcb..c0343373a343fe8aa2f9d8a0c02dc9344760bcea 100644
--- a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services5.xml
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services5.xml
@@ -3,7 +3,7 @@
 <container xmlns="http://symfony.com/schema/dic/services"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns:project="http://www.example.com/schema/projectwithxsd"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd
+    xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd
                         http://www.example.com/schema/projectwithxsd http://www.example.com/schema/projectwithxsd/project-1.0.xsd">
 
     <project:foobar />
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services6.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services6.xml
index a9c01030d1cae89db011b4317413d9a29259604b..da2b4bf2b32208f30cf86c82daf5d6d366da4009 100644
--- a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services6.xml
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services6.xml
@@ -3,7 +3,7 @@
 <container xmlns="http://symfony.com/schema/dic/services"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns:project="http://www.example.com/schema/projectwithxsdinphar"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd
+    xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd
                         http://www.example.com/schema/projectwithxsdinphar http://www.example.com/schema/projectwithxsdinphar/project-1.0.xsd">
 
     <project:bar />
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services7.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services7.xml
index e77780db6aabb8dac92ea42e867385d1c57ecdca..fa5c364b3d014b8a7cc17f60794e4f8988a1be6b 100644
--- a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services7.xml
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services7.xml
@@ -3,7 +3,7 @@
 <container xmlns="http://symfony.com/schema/dic/services"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns:project="http://www.example.com/schema/projectwithxsdinphar"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd
+    xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd
                         http://www.example.com/schema/projectwithxsdinphar http://www.example.com/schema/projectwithxsdinphar/project-1.0.xsd">
 
     <project:bar bar="foo" />
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/legacy_invalid_alias_definition.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/legacy_invalid_alias_definition.xml
index 52386e5bf52dfeba14d5aff635d8543fce5c45f4..a5387b25abe9bd78580853e339868f59628d535a 100644
--- a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/legacy_invalid_alias_definition.xml
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/legacy_invalid_alias_definition.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
+<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
   <services>
     <service id="foo" class="Foo" />
 
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/namespaces.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/namespaces.xml
index 5a05cedd7e79e7e0f5b68e065286922cd5d6157a..9dc27fadbb1d841067dfb0dd6975c43c669cb1a7 100644
--- a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/namespaces.xml
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/namespaces.xml
@@ -3,8 +3,8 @@
 <srv:container xmlns="http://symfony.com/schema/dic/doctrine"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns:srv="http://symfony.com/schema/dic/services"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd
-                        http://symfony.com/schema/dic/doctrine http://symfony.com/schema/dic/doctrine/doctrine-1.0.xsd">
+    xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd
+                        http://symfony.com/schema/dic/doctrine https://symfony.com/schema/dic/doctrine/doctrine-1.0.xsd">
 
     <srv:services>
         <srv:service id="foo" class="FooClass">
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/nested_service_without_id.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/nested_service_without_id.xml
index f8eb00994994399ed50f6803e7943f0f6e0bbdd1..cfeed0ff50e5ab3fd06f7470b7f9bd01c6c22851 100644
--- a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/nested_service_without_id.xml
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/nested_service_without_id.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
+<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
   <services>
     <service id="FooClass">
       <argument type="service">
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services1.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services1.xml
index 6dc3ea6618c6d051bda3e4ee67cb2e62c6d5be2d..7d8674a30f3fe002219da3761367376fab854692 100644
--- a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services1.xml
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services1.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
+<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
     <services>
         <service class="Symfony\Component\DependencyInjection\ContainerInterface" id="service_container" public="true" synthetic="true"/>
         <service alias="service_container" id="Psr\Container\ContainerInterface" public="false"/>
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services10.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services10.xml
index a4da1bf74cf7852c64efd012d760ab1c3a17c1cf..921070e1b44a0a5f7793429744fceaad1290dae3 100644
--- a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services10.xml
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services10.xml
@@ -2,7 +2,7 @@
 
 <container xmlns="http://symfony.com/schema/dic/services"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
+    xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
   <services>
     <service id="foo" class="BarClass">
         <tag name="foo_tag"
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services13.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services13.xml
index 1ac4938841d6091b1a8e5d3f5038f75bec3f37ef..9d86b8e514e533a32f9ce1f2a5d782b44985b322 100644
--- a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services13.xml
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services13.xml
@@ -2,7 +2,7 @@
 
 <container xmlns="http://symfony.com/schema/dic/services"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
+    xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
   <parameters>
     <parameter key="imported_from_xml">true</parameter>
   </parameters>
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services14.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services14.xml
index 73446214e4920487e1e19259dea4b1d3303ff904..639075f5db3d6f2aa28779022d46133faa981660 100644
--- a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services14.xml
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services14.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <container xmlns="http://symfony.com/schema/dic/services"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-           xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
+           xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
     <services>
         <service id="monolog.logger" parent="monolog.logger_prototype" public="false">
             <argument index="0">app</argument>
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services2.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services2.xml
index 0d2d6699490bafe5f7dd9933da2e6a5e4d29e953..243a289f731616cf517ae04e0b872a7ad4abdd49 100644
--- a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services2.xml
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services2.xml
@@ -2,7 +2,7 @@
 
 <container xmlns="http://symfony.com/schema/dic/services"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
+    xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
   <parameters>
     <parameter>a string</parameter>
     <parameter key="foo">bar</parameter>
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services21.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services21.xml
index 36fc8cfd81c689f88ed6005f464bd6ee6cde6ff7..20dd4cf47614e4bca28ba8c2531bceef20f4ad0e 100644
--- a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services21.xml
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services21.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
+<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
   <services>
     <service id="service_container" class="Symfony\Component\DependencyInjection\ContainerInterface" public="true" synthetic="true"/>
     <service id="foo" class="Foo" public="true">
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services22.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services22.xml
index fa79d389489fb893243fdd47819d327e4a502632..6de7945befd4c6fc1fa9b95a228ee52f2a98964f 100644
--- a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services22.xml
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services22.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
+<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
     <services>
         <service id="foo" class="Foo">
             <autowiring-type>Bar</autowiring-type>
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services23.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services23.xml
index 3f9e15fd499da2eae150ca631364fb894130f07a..eb56fd11df595ba3ec84772d904086368f006c04 100644
--- a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services23.xml
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services23.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
+<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
     <services>
         <service id="bar" class="Bar" autowire="true" />
     </services>
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services24.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services24.xml
index abf389bc8d63252e0ee96f603cc7d92a36c98739..23c91cdc2e99dcbf78024491b9147827c1e89362 100644
--- a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services24.xml
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services24.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
+<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
   <services>
     <service id="service_container" class="Symfony\Component\DependencyInjection\ContainerInterface" public="true" synthetic="true"/>
     <service id="foo" class="Foo" public="true" autowire="true"/>
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services28.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services28.xml
index 0076cc31ebbf14447c88ca692459d742c429e1a4..6b53c09890aca6fafdabb6c681f0fbe6058b27a2 100644
--- a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services28.xml
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services28.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
+<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
     <services>
         <defaults public="false" autowire="true">
             <tag name="foo" />
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services3.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services3.xml
index 87bf183db32df8c8b5aa0aa28ed3d4779ef47100..5f0afeb492cf273ca629b14bf3bd4f3a3e0e62e8 100644
--- a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services3.xml
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services3.xml
@@ -2,7 +2,7 @@
 
 <container xmlns="http://symfony.com/schema/dic/services"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
+    xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
   <parameters>
     <parameter key="foo">foo</parameter>
     <parameter key="values" type="collection">
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services4.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services4.xml
index 47ec04e68505ffcdad2fed99604ad2da4bb294d9..399da8159493c72b86f58007a0b28a87e2e69de9 100644
--- a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services4.xml
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services4.xml
@@ -2,7 +2,7 @@
 
 <container xmlns="http://symfony.com/schema/dic/services"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
+    xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
   <imports>
     <import resource="services2.xml" />
     <import resource="services3.xml" />
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services4_bad_import.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services4_bad_import.xml
index 0b7f10a309b86368ea6b8ccc052e8abd7c9f4c0c..b30178f9e96e9cb19e8af3bd025b226b6a9855f4 100644
--- a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services4_bad_import.xml
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services4_bad_import.xml
@@ -2,7 +2,7 @@
 
 <container xmlns="http://symfony.com/schema/dic/services"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
+    xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
   <imports>
     <import resource="foo_fake.xml" ignore-errors="true" />
   </imports>
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services5.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services5.xml
index 721f0282877507f09a21c6f7c930cfb16a26f147..6c6a14245b8427c31bf3c0f7b8d027b07303e021 100644
--- a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services5.xml
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services5.xml
@@ -2,7 +2,7 @@
 
 <container xmlns="http://symfony.com/schema/dic/services"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
+    xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
   <services>
     <service id="foo" class="FooClass">
       <argument type="service">
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services6.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services6.xml
index c85b7a7c01efb8dc08209ea91e7d527f4b4275cd..84eb57bbe2fac653e3c5f9296a52baf7477cec7d 100644
--- a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services6.xml
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services6.xml
@@ -2,7 +2,7 @@
 
 <container xmlns="http://symfony.com/schema/dic/services"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
+    xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
   <services>
     <service id="foo" class="FooClass" />
     <service id="baz" class="BazClass" />
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services7.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services7.xml
index 824d8b5d753969de96af6c55f6d0a153b3fc2c5b..5b322105b4d8ffab5e1ada7d9ee521a44517d3dd 100644
--- a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services7.xml
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services7.xml
@@ -2,7 +2,7 @@
 
 <container xmlns="http://symfony.com/schema/dic/services"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
+    xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
   <services>
     <service id="foo" class="BarClass" />
   </services>
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services8.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services8.xml
index bc1186bd93ccf75fb3151f0515853163bc20de9d..d0f9015c5a5473f014b1db884937f94722d4dda9 100644
--- a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services8.xml
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services8.xml
@@ -2,7 +2,7 @@
 
 <container xmlns="http://symfony.com/schema/dic/services"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
+    xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
   <parameters>
     <parameter key="foo">%baz%</parameter>
     <parameter key="baz">bar</parameter>
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services9.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services9.xml
index d12c00319aca1d51b3c7a185c054e6a5ccc9f914..128c1bac221f227ac7c5b8a8d1889b2b09749bfb 100644
--- a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services9.xml
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services9.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
+<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
   <parameters>
     <parameter key="baz_class">BazClass</parameter>
     <parameter key="foo_class">Bar\FooClass</parameter>
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_abstract.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_abstract.xml
index 22abf54681f6a810c9a6e3aed189b4fe43643d71..47fd3a53bd767f8332c1dd36bdce8b502b7208c6 100644
--- a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_abstract.xml
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_abstract.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
+<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
   <services>
     <service id="service_container" class="Symfony\Component\DependencyInjection\ContainerInterface" public="true" synthetic="true"/>
     <service id="foo" class="Foo" public="true" abstract="true"/>
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_autoconfigure.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_autoconfigure.xml
index 5e855c097288ed2e483213ab9bcfcd153ea5bffe..91cfa5f4dcc57e135b34e8ffa6da9a72f2c5c077 100644
--- a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_autoconfigure.xml
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_autoconfigure.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
+<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
     <services>
         <defaults autoconfigure="true" />
 
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_autoconfigure_with_parent.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_autoconfigure_with_parent.xml
index 103045d38fcb3122957f3f16dbfaffc089323cc5..97a8facf49c0ac46833df1bb34677311999d4ebb 100644
--- a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_autoconfigure_with_parent.xml
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_autoconfigure_with_parent.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
+<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
     <services>
         <service id="parent_service" class="stdClass" />
         <service id="child_service" class="stdClass" parent="parent_service" autoconfigure="true" />
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_bindings.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_bindings.xml
index 408bca5f7534645cd8a905367d798e6d44054fee..0fb57daa5eefdcf9a9324f1874e16c0550026e7a 100644
--- a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_bindings.xml
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_bindings.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
+<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
     <services>
         <defaults>
             <bind key="NonExistent">null</bind>
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_defaults_with_parent.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_defaults_with_parent.xml
index 875ed6d51f9964fa29532a1ff3423406825e1297..bb1511898b50d2c02f63075e207a3ec25b043190 100644
--- a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_defaults_with_parent.xml
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_defaults_with_parent.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
+<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
     <services>
         <defaults autowire="true" />
 
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_deprecated.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_deprecated.xml
index c19a47adf517f20ba0650f568c3af8fc22e90c98..ae3a0b089076c10cfef55444f936ad34ffa80f3f 100644
--- a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_deprecated.xml
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_deprecated.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
+<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
   <services>
     <service id="foo" class="Foo">
       <deprecated />
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_dump_load.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_dump_load.xml
index e70be185c0ee1e6ac751194ae6223347dace06a6..7a91166c1fc778ac2cf23e15e5446f9e1b4828ab 100644
--- a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_dump_load.xml
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_dump_load.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
+<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
   <services>
     <service id="service_container" class="Symfony\Component\DependencyInjection\ContainerInterface" public="true" synthetic="true"/>
     <service id="foo" autoconfigure="true" abstract="true">
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_inline_not_candidate.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_inline_not_candidate.xml
index 72560585396af8e34349a4d5c9b1367dfe96612c..e6857813c6a676f1fd4abbfcf8ffe1376d1bb539 100644
--- a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_inline_not_candidate.xml
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_inline_not_candidate.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
+<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
   <services>
     <service id="foo" class="stdClass">
       <argument type="service">
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_instanceof.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_instanceof.xml
index 839776a3fed97fa285089c0953b08f1be8976334..097687e1aa1e711733d5354ecbdd44e74926849d 100644
--- a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_instanceof.xml
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_instanceof.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
+<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
     <services>
         <instanceof id="Symfony\Component\DependencyInjection\Tests\Fixtures\BarInterface" lazy="true" autowire="true">
             <tag name="foo" />
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_instanceof_with_parent.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_instanceof_with_parent.xml
index 67ce6917249bd1085d6d319b7dcc9f760e67065a..c2fce5eb2fd4ee410d6090a722aaac0ec44af1c0 100644
--- a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_instanceof_with_parent.xml
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_instanceof_with_parent.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
+<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
     <services>
         <instanceof id="FooInterface" autowire="true" />
 
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_named_args.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_named_args.xml
index 95dabde9c4b6be7883825055601ecabec5ced669..68ade19dd457579526a0b9e0fbee2786a5c9a0e0 100644
--- a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_named_args.xml
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_named_args.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
+<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
     <services>
         <service id="Symfony\Component\DependencyInjection\Tests\Fixtures\NamedArgumentsDummy">
             <argument key="$apiKey">ABCD</argument>
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_prototype.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_prototype.xml
index 381f95dd00fa50e4aff240cefc354517d6f2e628..9d1d622d4aad3ffb2290aaa4ddb968586104336c 100644
--- a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_prototype.xml
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_prototype.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
+<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
   <services>
       <prototype namespace="Symfony\Component\DependencyInjection\Tests\Fixtures\Prototype\" resource="../Prototype/*" exclude="../Prototype/{OtherDir,BadClasses}" />
   </services>
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_tsantos.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_tsantos.xml
index bb310b279d7057738e5547d5664097f7823145fa..2a35f468652f7cceffd0f210af9c4dec111e1050 100644
--- a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_tsantos.xml
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_tsantos.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
+<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
   <services>
     <service id="service_container" class="Symfony\Component\DependencyInjection\ContainerInterface" public="true" synthetic="true"/>
     <service id="tsantos_serializer" class="TSantos\Serializer\EventEmitterSerializer" public="true">
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_without_id.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_without_id.xml
index bc0f719bd5330040691943d1404d69126ca040c3..fe65f08f4f2641a20a2190d333e3a3e02b79638a 100644
--- a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_without_id.xml
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services_without_id.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
+<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
   <services>
     <defaults public="true" />
     <service class="FooClass"/>
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/tag_with_empty_name.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/tag_with_empty_name.xml
index 164629246247595a75d80f4f12658bc0f8e12e33..08e3e78fa671ad9b6535797558d98b8f3e80be23 100644
--- a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/tag_with_empty_name.xml
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/tag_with_empty_name.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" ?>
 <container xmlns="http://symfony.com/schema/dic/services"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
+    xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
 
     <services>
         <service id="foo" class="BarClass">
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/tag_without_name.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/tag_without_name.xml
index bc7373df73cf0d5e34c1d6270679f8cc2bf843f9..1ff3929033aca8512bed06489c50906da7dc324b 100644
--- a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/tag_without_name.xml
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/tag_without_name.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" ?>
 <container xmlns="http://symfony.com/schema/dic/services"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
+    xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
 
     <services>
         <service id="foo" class="BarClass">
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/with_key_outside_collection.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/with_key_outside_collection.xml
index 5f3a2843612df51506b812f867a877d6ee4081e8..1f6d32079d0ffeb6c0583096faca09e93eeebc5b 100644
--- a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/with_key_outside_collection.xml
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/with_key_outside_collection.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
+<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
   <services>
     <service id="foo" class="Foo">
       <argument key="type">foo</argument>
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/xml_with_wrong_ext.php b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/xml_with_wrong_ext.php
index 91ff5d460203b1d0bd038df3245d3db037a06f91..dcf167db83e18c475eade3e84bb1c0b3c8538911 100644
--- a/vendor/symfony/dependency-injection/Tests/Fixtures/xml/xml_with_wrong_ext.php
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/xml_with_wrong_ext.php
@@ -2,7 +2,7 @@
 
 <container xmlns="http://symfony.com/schema/dic/services"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
+    xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
   <parameters>
     <parameter key="with_wrong_ext">from xml</parameter>
   </parameters>
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/defaults_bindings.yml b/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/defaults_bindings.yml
new file mode 100644
index 0000000000000000000000000000000000000000..ca5e5048de122c9c9a100431f6d76e9128a0e8c3
--- /dev/null
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/defaults_bindings.yml
@@ -0,0 +1,11 @@
+services:
+    _defaults:
+        bind:
+            $quz: value
+            $foo: [value]
+
+    bar:
+        class: Symfony\Component\DependencyInjection\Tests\Fixtures\Bar
+
+    foo:
+        class: stdClass
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/defaults_bindings2.yml b/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/defaults_bindings2.yml
new file mode 100644
index 0000000000000000000000000000000000000000..01fc5af62458c425c9a06bde14220e885806656c
--- /dev/null
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/defaults_bindings2.yml
@@ -0,0 +1,7 @@
+services:
+    _defaults:
+        bind:
+            $quz: overridden
+
+    bar:
+        class: Symfony\Component\DependencyInjection\Tests\Fixtures\Bar
diff --git a/vendor/symfony/dependency-injection/Tests/Loader/XmlFileLoaderTest.php b/vendor/symfony/dependency-injection/Tests/Loader/XmlFileLoaderTest.php
index d89887acca9ea1f67fbc1ee502a89b77caf6fcbb..03376a641dcc02b83ca18a4901391896aa17c148 100644
--- a/vendor/symfony/dependency-injection/Tests/Loader/XmlFileLoaderTest.php
+++ b/vendor/symfony/dependency-injection/Tests/Loader/XmlFileLoaderTest.php
@@ -17,6 +17,7 @@
 use Symfony\Component\Config\Resource\FileResource;
 use Symfony\Component\Config\Resource\GlobResource;
 use Symfony\Component\DependencyInjection\Argument\IteratorArgument;
+use Symfony\Component\DependencyInjection\Compiler\ResolveBindingsPass;
 use Symfony\Component\DependencyInjection\ContainerBuilder;
 use Symfony\Component\DependencyInjection\Dumper\PhpDumper;
 use Symfony\Component\DependencyInjection\Loader\IniFileLoader;
@@ -820,4 +821,20 @@ public function testTsantosContainer()
         $dump = $dumper->dump();
         $this->assertStringEqualsFile(self::$fixturesPath.'/php/services_tsantos.php', $dumper->dump());
     }
+
+    /**
+     * The pass may throw an exception, which will cause the test to fail.
+     */
+    public function testOverriddenDefaultsBindings()
+    {
+        $container = new ContainerBuilder();
+
+        $loader = new XmlFileLoader($container, new FileLocator(self::$fixturesPath.'/xml'));
+        $loader->load('defaults_bindings.xml');
+        $loader->load('defaults_bindings2.xml');
+
+        (new ResolveBindingsPass())->process($container);
+
+        $this->assertSame('overridden', $container->get('bar')->quz);
+    }
 }
diff --git a/vendor/symfony/dependency-injection/Tests/Loader/YamlFileLoaderTest.php b/vendor/symfony/dependency-injection/Tests/Loader/YamlFileLoaderTest.php
index 7bcf0ec0575845c09fdd709f9c730c134efae67f..05521bf7846f7a7c274bfde67029a3c9cb50bd3f 100644
--- a/vendor/symfony/dependency-injection/Tests/Loader/YamlFileLoaderTest.php
+++ b/vendor/symfony/dependency-injection/Tests/Loader/YamlFileLoaderTest.php
@@ -17,6 +17,7 @@
 use Symfony\Component\Config\Resource\FileResource;
 use Symfony\Component\Config\Resource\GlobResource;
 use Symfony\Component\DependencyInjection\Argument\IteratorArgument;
+use Symfony\Component\DependencyInjection\Compiler\ResolveBindingsPass;
 use Symfony\Component\DependencyInjection\ContainerBuilder;
 use Symfony\Component\DependencyInjection\Loader\IniFileLoader;
 use Symfony\Component\DependencyInjection\Loader\PhpFileLoader;
@@ -732,4 +733,20 @@ public function testBindings()
             '$factory' => 'factory',
         ], array_map(function ($v) { return $v->getValues()[0]; }, $definition->getBindings()));
     }
+
+    /**
+     * The pass may throw an exception, which will cause the test to fail.
+     */
+    public function testOverriddenDefaultsBindings()
+    {
+        $container = new ContainerBuilder();
+
+        $loader = new YamlFileLoader($container, new FileLocator(self::$fixturesPath.'/yaml'));
+        $loader->load('defaults_bindings.yml');
+        $loader->load('defaults_bindings2.yml');
+
+        (new ResolveBindingsPass())->process($container);
+
+        $this->assertSame('overridden', $container->get('bar')->quz);
+    }
 }
diff --git a/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php b/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php
index 2339a68874a6d482f9e4f93053aa2b97546dec6e..752c8aa8293e60ed8bdae7490a14e8917f916f70 100644
--- a/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php
+++ b/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php
@@ -290,10 +290,6 @@ private function postProcess($eventName)
                 if (null !== $this->logger) {
                     $this->logger->debug('Notified event "{event}" to listener "{listener}".', $context);
                 }
-
-                if (!isset($this->called[$eventName])) {
-                    $this->called[$eventName] = new \SplObjectStorage();
-                }
             } else {
                 $this->callStack->detach($listener);
             }
diff --git a/vendor/symfony/event-dispatcher/DependencyInjection/RegisterListenersPass.php b/vendor/symfony/event-dispatcher/DependencyInjection/RegisterListenersPass.php
index bdad9fe9d9bd311f0537f1dad4084d2f53696f48..2951c1ee45aa85c4c08b8cb89ef5955969364a29 100644
--- a/vendor/symfony/event-dispatcher/DependencyInjection/RegisterListenersPass.php
+++ b/vendor/symfony/event-dispatcher/DependencyInjection/RegisterListenersPass.php
@@ -106,7 +106,7 @@ public function process(ContainerBuilder $container)
                 $definition->addMethodCall('addListener', $args);
 
                 if (isset($this->hotPathEvents[$args[0]])) {
-                    $container->getDefinition($id)->addTag('container.hot_path');
+                    $container->getDefinition($id)->addTag($this->hotPathTagName);
                 }
             }
             $extractingDispatcher->listeners = [];
diff --git a/vendor/symfony/http-foundation/CHANGELOG.md b/vendor/symfony/http-foundation/CHANGELOG.md
index 97b279df1f19d82ed7471e86216de62b74ca7dc7..7bfde80ff1290703f757ba2bd699bcc0631e0379 100644
--- a/vendor/symfony/http-foundation/CHANGELOG.md
+++ b/vendor/symfony/http-foundation/CHANGELOG.md
@@ -144,10 +144,10 @@ CHANGELOG
  * Added `FlashBag`. Flashes expire when retrieved by `get()` or `all()`. This
    implementation is ESI compatible.
  * Added `AutoExpireFlashBag` (default) to replicate Symfony 2.0.x auto expire
-   behaviour of messages auto expiring after one page page load.  Messages must
+   behavior of messages auto expiring after one page page load.  Messages must
    be retrieved by `get()` or `all()`.
  * Added `Symfony\Component\HttpFoundation\Attribute\AttributeBag` to replicate
-   attributes storage behaviour from 2.0.x (default).
+   attributes storage behavior from 2.0.x (default).
  * Added `Symfony\Component\HttpFoundation\Attribute\NamespacedAttributeBag` for
    namespace session attributes.
  * Flash API can stores messages in an array so there may be multiple messages
diff --git a/vendor/symfony/http-foundation/File/MimeType/MimeTypeExtensionGuesser.php b/vendor/symfony/http-foundation/File/MimeType/MimeTypeExtensionGuesser.php
index d5acb34094c1181b5cdbb54716f7d6065def5db9..c0f9140c800a24bb019b58595bb41f96aaaa0b1f 100644
--- a/vendor/symfony/http-foundation/File/MimeType/MimeTypeExtensionGuesser.php
+++ b/vendor/symfony/http-foundation/File/MimeType/MimeTypeExtensionGuesser.php
@@ -808,6 +808,12 @@ class MimeTypeExtensionGuesser implements ExtensionGuesserInterface
      */
     public function guess($mimeType)
     {
-        return isset($this->defaultExtensions[$mimeType]) ? $this->defaultExtensions[$mimeType] : null;
+        if (isset($this->defaultExtensions[$mimeType])) {
+            return $this->defaultExtensions[$mimeType];
+        }
+
+        $lcMimeType = strtolower($mimeType);
+
+        return isset($this->defaultExtensions[$lcMimeType]) ? $this->defaultExtensions[$lcMimeType] : null;
     }
 }
diff --git a/vendor/symfony/http-foundation/Request.php b/vendor/symfony/http-foundation/Request.php
index f6ff0f509954da47d676e4356ab53433b3406ec3..ae3f51b1724fcd37443e29d8855ea7963bb19342 100644
--- a/vendor/symfony/http-foundation/Request.php
+++ b/vendor/symfony/http-foundation/Request.php
@@ -1346,22 +1346,37 @@ public function setMethod($method)
      */
     public function getMethod()
     {
-        if (null === $this->method) {
-            $this->method = strtoupper($this->server->get('REQUEST_METHOD', 'GET'));
-
-            if ('POST' === $this->method) {
-                if ($method = $this->headers->get('X-HTTP-METHOD-OVERRIDE')) {
-                    $this->method = strtoupper($method);
-                } elseif (self::$httpMethodParameterOverride) {
-                    $method = $this->request->get('_method', $this->query->get('_method', 'POST'));
-                    if (\is_string($method)) {
-                        $this->method = strtoupper($method);
-                    }
-                }
-            }
+        if (null !== $this->method) {
+            return $this->method;
+        }
+
+        $this->method = strtoupper($this->server->get('REQUEST_METHOD', 'GET'));
+
+        if ('POST' !== $this->method) {
+            return $this->method;
+        }
+
+        $method = $this->headers->get('X-HTTP-METHOD-OVERRIDE');
+
+        if (!$method && self::$httpMethodParameterOverride) {
+            $method = $this->request->get('_method', $this->query->get('_method', 'POST'));
+        }
+
+        if (!\is_string($method)) {
+            return $this->method;
+        }
+
+        $method = strtoupper($method);
+
+        if (\in_array($method, ['GET', 'HEAD', 'POST', 'PUT', 'DELETE', 'CONNECT', 'OPTIONS', 'PATCH', 'PURGE', 'TRACE'], true)) {
+            return $this->method = $method;
+        }
+
+        if (!preg_match('/^[A-Z]++$/D', $method)) {
+            throw new SuspiciousOperationException(sprintf('Invalid method override "%s".', $method));
         }
 
-        return $this->method;
+        return $this->method = $method;
     }
 
     /**
@@ -1462,7 +1477,7 @@ public function setFormat($format, $mimeTypes)
      *
      * @param string|null $default The default format
      *
-     * @return string The request format
+     * @return string|null The request format
      */
     public function getRequestFormat($default = 'html')
     {
diff --git a/vendor/symfony/http-foundation/Response.php b/vendor/symfony/http-foundation/Response.php
index 4d63219b2db212dc35600ffad362692b555b50d0..b7d116259d6f214619d868dcfb7194f4036f9d5d 100644
--- a/vendor/symfony/http-foundation/Response.php
+++ b/vendor/symfony/http-foundation/Response.php
@@ -310,9 +310,9 @@ public function prepare(Request $request)
         }
 
         // Check if we need to send extra expire info headers
-        if ('1.0' == $this->getProtocolVersion() && false !== strpos($this->headers->get('Cache-Control'), 'no-cache')) {
-            $this->headers->set('pragma', 'no-cache');
-            $this->headers->set('expires', -1);
+        if ('1.0' == $this->getProtocolVersion() && false !== strpos($headers->get('Cache-Control'), 'no-cache')) {
+            $headers->set('pragma', 'no-cache');
+            $headers->set('expires', -1);
         }
 
         $this->ensureIEOverSSLCompatibility($request);
diff --git a/vendor/symfony/http-foundation/Session/Session.php b/vendor/symfony/http-foundation/Session/Session.php
index 867ceba97f8dba8259d605d9860a3a29c98788d5..62ce948b6828be80a0930947fb2adb91f1f62be2 100644
--- a/vendor/symfony/http-foundation/Session/Session.php
+++ b/vendor/symfony/http-foundation/Session/Session.php
@@ -193,7 +193,9 @@ public function migrate($destroy = false, $lifetime = null)
      */
     public function save()
     {
-        $this->storage->save();
+        if ($this->isStarted()) {
+            $this->storage->save();
+        }
     }
 
     /**
diff --git a/vendor/symfony/http-foundation/Tests/File/Fixtures/case-sensitive-mime-type.xlsm b/vendor/symfony/http-foundation/Tests/File/Fixtures/case-sensitive-mime-type.xlsm
new file mode 100644
index 0000000000000000000000000000000000000000..94d85e6132c553225a1628f056151bee22f5b352
Binary files /dev/null and b/vendor/symfony/http-foundation/Tests/File/Fixtures/case-sensitive-mime-type.xlsm differ
diff --git a/vendor/symfony/http-foundation/Tests/File/UploadedFileTest.php b/vendor/symfony/http-foundation/Tests/File/UploadedFileTest.php
index 9c02b478edc031cf00f54c5078e51f89ff021d8c..5a37cda351f9ac55db2038ccb9686d55446a196c 100644
--- a/vendor/symfony/http-foundation/Tests/File/UploadedFileTest.php
+++ b/vendor/symfony/http-foundation/Tests/File/UploadedFileTest.php
@@ -90,6 +90,19 @@ public function testGuessClientExtensionWithIncorrectMimeType()
         $this->assertEquals('jpeg', $file->guessClientExtension());
     }
 
+    public function testCaseSensitiveMimeType()
+    {
+        $file = new UploadedFile(
+            __DIR__.'/Fixtures/case-sensitive-mime-type.xlsm',
+            'test.xlsm',
+            'application/vnd.ms-excel.sheet.macroEnabled.12',
+            filesize(__DIR__.'/Fixtures/case-sensitive-mime-type.xlsm'),
+            null
+        );
+
+        $this->assertEquals('xlsm', $file->guessClientExtension());
+    }
+
     public function testErrorIsOkByDefault()
     {
         $file = new UploadedFile(
diff --git a/vendor/symfony/http-foundation/Tests/Session/SessionTest.php b/vendor/symfony/http-foundation/Tests/Session/SessionTest.php
index afa00fc7c30463065d618c897ce1d4239c96dbaf..e75b3321b035ef6bbb3c3d9d7fc98175fdec5716 100644
--- a/vendor/symfony/http-foundation/Tests/Session/SessionTest.php
+++ b/vendor/symfony/http-foundation/Tests/Session/SessionTest.php
@@ -260,4 +260,14 @@ public function testIsEmpty()
         $flash->get('hello');
         $this->assertTrue($this->session->isEmpty());
     }
+
+    public function testSaveIfNotStarted()
+    {
+        $storage = $this->getMockBuilder('Symfony\Component\HttpFoundation\Session\Storage\SessionStorageInterface')->getMock();
+        $session = new Session($storage);
+
+        $storage->expects($this->once())->method('isStarted')->willReturn(false);
+        $storage->expects($this->never())->method('save');
+        $session->save();
+    }
 }
diff --git a/vendor/symfony/http-kernel/DataCollector/LoggerDataCollector.php b/vendor/symfony/http-kernel/DataCollector/LoggerDataCollector.php
index 1d95b8b566a5bde7e571d80b2a2a7caf5b5efecf..a8dda9f671d17ca40eae609f6acbb5141d5d5daa 100644
--- a/vendor/symfony/http-kernel/DataCollector/LoggerDataCollector.php
+++ b/vendor/symfony/http-kernel/DataCollector/LoggerDataCollector.php
@@ -126,9 +126,13 @@ private function getContainerDeprecationLogs()
             return [];
         }
 
+        if ('' === $logContent = trim(file_get_contents($file))) {
+            return [];
+        }
+
         $bootTime = filemtime($file);
         $logs = [];
-        foreach (unserialize(file_get_contents($file)) as $log) {
+        foreach (unserialize($logContent) as $log) {
             $log['context'] = ['exception' => new SilencedErrorContext($log['type'], $log['file'], $log['line'], $log['trace'], $log['count'])];
             $log['timestamp'] = $bootTime;
             $log['priority'] = 100;
diff --git a/vendor/symfony/http-kernel/DataCollector/TimeDataCollector.php b/vendor/symfony/http-kernel/DataCollector/TimeDataCollector.php
index 99149ab0be5694c573c128153a0f3c3bfceb628d..f48db705686b6fabb071a55a311c2d5a8f23d5bf 100644
--- a/vendor/symfony/http-kernel/DataCollector/TimeDataCollector.php
+++ b/vendor/symfony/http-kernel/DataCollector/TimeDataCollector.php
@@ -47,6 +47,7 @@ public function collect(Request $request, Response $response, \Exception $except
             'token' => $response->headers->get('X-Debug-Token'),
             'start_time' => $startTime * 1000,
             'events' => [],
+            'stopwatch_installed' => \class_exists(Stopwatch::class, false),
         ];
     }
 
@@ -139,6 +140,14 @@ public function getStartTime()
         return $this->data['start_time'];
     }
 
+    /**
+     * @return bool whether or not the stopwatch component is installed
+     */
+    public function isStopwatchInstalled()
+    {
+        return $this->data['stopwatch_installed'];
+    }
+
     /**
      * {@inheritdoc}
      */
diff --git a/vendor/symfony/http-kernel/EventListener/DebugHandlersListener.php b/vendor/symfony/http-kernel/EventListener/DebugHandlersListener.php
index 77f9e2f61839c930d80b200eb2ca4d85498990e8..df9df09c0bc3258a80db60b45866af0decae28a9 100644
--- a/vendor/symfony/http-kernel/EventListener/DebugHandlersListener.php
+++ b/vendor/symfony/http-kernel/EventListener/DebugHandlersListener.php
@@ -19,6 +19,7 @@
 use Symfony\Component\Debug\ExceptionHandler;
 use Symfony\Component\EventDispatcher\Event;
 use Symfony\Component\EventDispatcher\EventSubscriberInterface;
+use Symfony\Component\HttpKernel\Debug\FileLinkFormatter;
 use Symfony\Component\HttpKernel\Event\KernelEvent;
 use Symfony\Component\HttpKernel\KernelEvents;
 
@@ -40,13 +41,13 @@ class DebugHandlersListener implements EventSubscriberInterface
     private $hasTerminatedWithException;
 
     /**
-     * @param callable|null        $exceptionHandler A handler that will be called on Exception
-     * @param LoggerInterface|null $logger           A PSR-3 logger
-     * @param array|int            $levels           An array map of E_* to LogLevel::* or an integer bit field of E_* constants
-     * @param int|null             $throwAt          Thrown errors in a bit field of E_* constants, or null to keep the current value
-     * @param bool                 $scream           Enables/disables screaming mode, where even silenced errors are logged
-     * @param string|array         $fileLinkFormat   The format for links to source files
-     * @param bool                 $scope            Enables/disables scoping mode
+     * @param callable|null                 $exceptionHandler A handler that will be called on Exception
+     * @param LoggerInterface|null          $logger           A PSR-3 logger
+     * @param array|int                     $levels           An array map of E_* to LogLevel::* or an integer bit field of E_* constants
+     * @param int|null                      $throwAt          Thrown errors in a bit field of E_* constants, or null to keep the current value
+     * @param bool                          $scream           Enables/disables screaming mode, where even silenced errors are logged
+     * @param string|FileLinkFormatter|null $fileLinkFormat   The format for links to source files
+     * @param bool                          $scope            Enables/disables scoping mode
      */
     public function __construct(callable $exceptionHandler = null, LoggerInterface $logger = null, $levels = E_ALL, $throwAt = E_ALL, $scream = true, $fileLinkFormat = null, $scope = true)
     {
@@ -105,7 +106,7 @@ public function configure(Event $event = null)
                 if (method_exists($kernel = $event->getKernel(), 'terminateWithException')) {
                     $request = $event->getRequest();
                     $hasRun = &$this->hasTerminatedWithException;
-                    $this->exceptionHandler = function (\Exception $e) use ($kernel, $request, &$hasRun) {
+                    $this->exceptionHandler = static function (\Exception $e) use ($kernel, $request, &$hasRun) {
                         if ($hasRun) {
                             throw $e;
                         }
diff --git a/vendor/symfony/http-kernel/HttpCache/ResponseCacheStrategy.php b/vendor/symfony/http-kernel/HttpCache/ResponseCacheStrategy.php
index 862bac557dd773b0988b13a0f93c70edb0c70996..1efad607e82773aa8bae1374fb7ea5fd9b07583b 100644
--- a/vendor/symfony/http-kernel/HttpCache/ResponseCacheStrategy.php
+++ b/vendor/symfony/http-kernel/HttpCache/ResponseCacheStrategy.php
@@ -215,7 +215,7 @@ private function storeRelativeAgeDirective($directive, $value, $age)
         }
 
         if (false !== $this->ageDirectives[$directive]) {
-            $value = $value - $age;
+            $value -= $age;
             $this->ageDirectives[$directive] = null !== $this->ageDirectives[$directive] ? min($this->ageDirectives[$directive], $value) : $value;
         }
     }
diff --git a/vendor/symfony/http-kernel/Kernel.php b/vendor/symfony/http-kernel/Kernel.php
index 1a985a4c910b94c9d4061153e96d8dfd5ad76118..1bfed69c61a4a3696b30a6aeb15553858c5e09c6 100644
--- a/vendor/symfony/http-kernel/Kernel.php
+++ b/vendor/symfony/http-kernel/Kernel.php
@@ -67,11 +67,11 @@ abstract class Kernel implements KernelInterface, RebootableInterface, Terminabl
     private $requestStackSize = 0;
     private $resetServices = false;
 
-    const VERSION = '3.4.23';
-    const VERSION_ID = 30423;
+    const VERSION = '3.4.26';
+    const VERSION_ID = 30426;
     const MAJOR_VERSION = 3;
     const MINOR_VERSION = 4;
-    const RELEASE_VERSION = 23;
+    const RELEASE_VERSION = 26;
     const EXTRA_VERSION = '';
 
     const END_OF_MAINTENANCE = '11/2020';
diff --git a/vendor/symfony/http-kernel/Log/Logger.php b/vendor/symfony/http-kernel/Log/Logger.php
index 6cfc75949021e7da1f6e7e8a39867d2d812a6ea6..e174587d15b839116935a2b963faf7f7c4aa4154 100644
--- a/vendor/symfony/http-kernel/Log/Logger.php
+++ b/vendor/symfony/http-kernel/Log/Logger.php
@@ -40,7 +40,7 @@ class Logger extends AbstractLogger
     public function __construct($minLevel = null, $output = 'php://stderr', callable $formatter = null)
     {
         if (null === $minLevel) {
-            $minLevel = LogLevel::WARNING;
+            $minLevel = 'php://stdout' === $output || 'php://stderr' === $output ? LogLevel::CRITICAL : LogLevel::WARNING;
 
             if (isset($_ENV['SHELL_VERBOSITY']) || isset($_SERVER['SHELL_VERBOSITY'])) {
                 switch ((int) (isset($_ENV['SHELL_VERBOSITY']) ? $_ENV['SHELL_VERBOSITY'] : $_SERVER['SHELL_VERBOSITY'])) {
diff --git a/vendor/symfony/http-kernel/Resources/welcome.html.php b/vendor/symfony/http-kernel/Resources/welcome.html.php
index caac7fd6ebb99d5fdfbb87fd89347a3235f65f69..8fdc00506c860f6eb8d64d8bf407e3cdc34cc472 100644
--- a/vendor/symfony/http-kernel/Resources/welcome.html.php
+++ b/vendor/symfony/http-kernel/Resources/welcome.html.php
@@ -51,21 +51,7 @@
         <div id="next">
             <h2>What's next?</h2>
             <p>
-                <svg id="icon-book" version="1.1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="-12.5 9 64 64" enable-background="new -12.5 9 64 64" xml:space="preserve">
-                    <path fill="#AAA" d="M6.8,40.8c2.4,0.8,4.5-0.7,4.9-2.5c0.2-1.2-0.3-2.1-1.3-3.2l-0.8-0.8c-0.4-0.5-0.6-1.3-0.2-1.9
-                        c0.4-0.5,0.9-0.8,1.8-0.5c1.3,0.4,1.9,1.3,2.9,2.2c-0.4,1.4-0.7,2.9-0.9,4.2l-0.2,1c-0.7,4-1.3,6.2-2.7,7.5
-                        c-0.3,0.3-0.7,0.5-1.3,0.6c-0.3,0-0.4-0.3-0.4-0.3c0-0.3,0.2-0.3,0.3-0.4c0.2-0.1,0.5-0.3,0.4-0.8c0-0.7-0.6-1.3-1.3-1.3
-                        c-0.6,0-1.4,0.6-1.4,1.7s1,1.9,2.4,1.8c0.8,0,2.5-0.3,4.2-2.5c2-2.5,2.5-5.4,2.9-7.4l0.5-2.8c0.3,0,0.5,0.1,0.8,0.1
-                        c2.4,0.1,3.7-1.3,3.7-2.3c0-0.6-0.3-1.2-0.9-1.2c-0.4,0-0.8,0.3-1,0.8c-0.1,0.6,0.8,1.1,0.1,1.5c-0.5,0.3-1.4,0.6-2.7,0.4l0.3-1.3
-                        c0.5-2.6,1-5.7,3.2-5.8c0.2,0,0.8,0,0.8,0.4c0,0.2,0,0.2-0.2,0.5c-0.2,0.3-0.3,0.4-0.2,0.7c0,0.7,0.5,1.1,1.2,1.1
-                        c0.9,0,1.2-1,1.2-1.4c0-1.2-1.2-1.8-2.6-1.8c-1.5,0.1-2.8,0.9-3.7,2.1c-1.1,1.3-1.8,2.9-2.3,4.5c-0.9-0.8-1.6-1.8-3.1-2.3
-                        c-1.1-0.7-2.3-0.5-3.4,0.3c-0.5,0.4-0.8,1-1,1.6c-0.4,1.5,0.4,2.9,0.8,3.4l0.9,1c0.2,0.2,0.6,0.8,0.4,1.5c-0.3,0.8-1.2,1.3-2.1,1
-                        c-0.4-0.2-1-0.5-0.9-0.9c0.1-0.2,0.2-0.3,0.3-0.5s0.1-0.3,0.1-0.3c0.2-0.6-0.1-1.4-0.7-1.6c-0.6-0.2-1.2,0-1.3,0.8
-                        C4.3,38.4,4.7,40,6.8,40.8z M46.1,20.9c0-4.2-3.2-7.5-7.1-7.5h-3.8C34.8,10.8,32.7,9,30.2,9L-2.3,9.1c-2.8,0.1-4.9,2.4-4.9,5.4
-                        L-7,58.6c0,4.8,8.1,13.9,11.6,14.1l34.7-0.1c3.9,0,7-3.4,7-7.6L46.1,20.9z M-0.3,36.4c0-8.6,6.5-15.6,14.5-15.6
-                        c8,0,14.5,7,14.5,15.6S22.1,52,14.2,52C6.1,52-0.3,45-0.3,36.4z M42.1,65.1c0,1.8-1.5,3.1-3.1,3.1H4.6c-0.7,0-3-1.8-4.5-4.4h30.4
-                        c2.8,0,5-2.4,5-5.4V17.9h3.7c1.6,0,2.9,1.4,2.9,3.1V65.1L42.1,65.1z"/>
-                </svg>
+                <svg id="icon-book" xmlns="http://www.w3.org/2000/svg" viewBox="-12.5 9 64 64"><path fill="#AAA" d="M6.8 40.8c2.4.8 4.5-.7 4.9-2.5.2-1.2-.3-2.1-1.3-3.2l-.8-.8c-.4-.5-.6-1.3-.2-1.9.4-.5.9-.8 1.8-.5 1.3.4 1.9 1.3 2.9 2.2-.4 1.4-.7 2.9-.9 4.2l-.2 1c-.7 4-1.3 6.2-2.7 7.5-.3.3-.7.5-1.3.6-.3 0-.4-.3-.4-.3 0-.3.2-.3.3-.4.2-.1.5-.3.4-.8 0-.7-.6-1.3-1.3-1.3-.6 0-1.4.6-1.4 1.7s1 1.9 2.4 1.8c.8 0 2.5-.3 4.2-2.5 2-2.5 2.5-5.4 2.9-7.4l.5-2.8c.3 0 .5.1.8.1 2.4.1 3.7-1.3 3.7-2.3 0-.6-.3-1.2-.9-1.2-.4 0-.8.3-1 .8-.1.6.8 1.1.1 1.5-.5.3-1.4.6-2.7.4l.3-1.3c.5-2.6 1-5.7 3.2-5.8.2 0 .8 0 .8.4 0 .2 0 .2-.2.5s-.3.4-.2.7c0 .7.5 1.1 1.2 1.1.9 0 1.2-1 1.2-1.4 0-1.2-1.2-1.8-2.6-1.8-1.5.1-2.8.9-3.7 2.1-1.1 1.3-1.8 2.9-2.3 4.5-.9-.8-1.6-1.8-3.1-2.3-1.1-.7-2.3-.5-3.4.3-.5.4-.8 1-1 1.6-.4 1.5.4 2.9.8 3.4l.9 1c.2.2.6.8.4 1.5-.3.8-1.2 1.3-2.1 1-.4-.2-1-.5-.9-.9.1-.2.2-.3.3-.5s.1-.3.1-.3c.2-.6-.1-1.4-.7-1.6-.6-.2-1.2 0-1.3.8 0 .7.4 2.3 2.5 3.1zm39.3-19.9c0-4.2-3.2-7.5-7.1-7.5h-3.8c-.4-2.6-2.5-4.4-5-4.4l-32.5.1c-2.8.1-4.9 2.4-4.9 5.4l.2 44.1c0 4.8 8.1 13.9 11.6 14.1l34.7-.1c3.9 0 7-3.4 7-7.6l-.2-44.1zM-.3 36.4c0-8.6 6.5-15.6 14.5-15.6s14.5 7 14.5 15.6S22.1 52 14.2 52C6.1 52-.3 45-.3 36.4zm42.4 28.7c0 1.8-1.5 3.1-3.1 3.1H4.6c-.7 0-3-1.8-4.5-4.4h30.4c2.8 0 5-2.4 5-5.4V17.9h3.7c1.6 0 2.9 1.4 2.9 3.1v44.1z"/></svg>
 
                 Read the documentation to learn
                 <a href="https://symfony.com/doc/<?php echo $docVersion; ?>/page_creation.html">
diff --git a/vendor/symfony/http-kernel/Tests/DataCollector/TimeDataCollectorTest.php b/vendor/symfony/http-kernel/Tests/DataCollector/TimeDataCollectorTest.php
index cf6a86695d7760e7ed0074bb72b031e1c88b2df5..793fbd319f94d3aa518c99e9f53d117031944905 100644
--- a/vendor/symfony/http-kernel/Tests/DataCollector/TimeDataCollectorTest.php
+++ b/vendor/symfony/http-kernel/Tests/DataCollector/TimeDataCollectorTest.php
@@ -15,6 +15,7 @@
 use Symfony\Component\HttpFoundation\Request;
 use Symfony\Component\HttpFoundation\Response;
 use Symfony\Component\HttpKernel\DataCollector\TimeDataCollector;
+use Symfony\Component\Stopwatch\Stopwatch;
 
 /**
  * @group time-sensitive
@@ -51,5 +52,6 @@ public function testCollect()
 
         $c->collect($request, new Response());
         $this->assertEquals(123456000, $c->getStartTime());
+        $this->assertSame(\class_exists(Stopwatch::class, false), $c->isStopwatchInstalled());
     }
 }
diff --git a/vendor/symfony/polyfill-ctype/LICENSE b/vendor/symfony/polyfill-ctype/LICENSE
index ad399a798d6d268804204b9e9f431b13f51578e5..3f853aaf35fe186d4016761eb6e8a403de3e6e0d 100644
--- a/vendor/symfony/polyfill-ctype/LICENSE
+++ b/vendor/symfony/polyfill-ctype/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2018 Fabien Potencier
+Copyright (c) 2018-2019 Fabien Potencier
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal
diff --git a/vendor/symfony/polyfill-ctype/composer.json b/vendor/symfony/polyfill-ctype/composer.json
index 094f8d867a0e30ae8ad2875e1d4d1ee613eb219b..c24e20ca75f1ebb0cab11790ee6991fd4835c2a6 100644
--- a/vendor/symfony/polyfill-ctype/composer.json
+++ b/vendor/symfony/polyfill-ctype/composer.json
@@ -28,7 +28,7 @@
     "minimum-stability": "dev",
     "extra": {
         "branch-alias": {
-            "dev-master": "1.9-dev"
+            "dev-master": "1.11-dev"
         }
     }
 }
diff --git a/vendor/symfony/polyfill-iconv/LICENSE b/vendor/symfony/polyfill-iconv/LICENSE
index 24fa32c2e9b27aef3eac523f0042b8ab9ba81944..4cd8bdd3007da4d62985ec9e5ca81a1e18ae34d1 100644
--- a/vendor/symfony/polyfill-iconv/LICENSE
+++ b/vendor/symfony/polyfill-iconv/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2015-2018 Fabien Potencier
+Copyright (c) 2015-2019 Fabien Potencier
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal
diff --git a/vendor/symfony/polyfill-iconv/composer.json b/vendor/symfony/polyfill-iconv/composer.json
index 816e6bd7ffe11f0c4273be2e3d472605782bb9af..6a3c1e0c438ee2572cad99336238e11e233c6938 100644
--- a/vendor/symfony/polyfill-iconv/composer.json
+++ b/vendor/symfony/polyfill-iconv/composer.json
@@ -28,7 +28,7 @@
     "minimum-stability": "dev",
     "extra": {
         "branch-alias": {
-            "dev-master": "1.9-dev"
+            "dev-master": "1.11-dev"
         }
     }
 }
diff --git a/vendor/symfony/polyfill-mbstring/LICENSE b/vendor/symfony/polyfill-mbstring/LICENSE
index 24fa32c2e9b27aef3eac523f0042b8ab9ba81944..4cd8bdd3007da4d62985ec9e5ca81a1e18ae34d1 100644
--- a/vendor/symfony/polyfill-mbstring/LICENSE
+++ b/vendor/symfony/polyfill-mbstring/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2015-2018 Fabien Potencier
+Copyright (c) 2015-2019 Fabien Potencier
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal
diff --git a/vendor/symfony/polyfill-mbstring/composer.json b/vendor/symfony/polyfill-mbstring/composer.json
index 50ea12f1bbb09226c9ee9abc9c3c33d8655af2b2..0bce08782ea6c655bcbbcd27ea58fe92f9249197 100644
--- a/vendor/symfony/polyfill-mbstring/composer.json
+++ b/vendor/symfony/polyfill-mbstring/composer.json
@@ -28,7 +28,7 @@
     "minimum-stability": "dev",
     "extra": {
         "branch-alias": {
-            "dev-master": "1.9-dev"
+            "dev-master": "1.11-dev"
         }
     }
 }
diff --git a/vendor/symfony/polyfill-php70/LICENSE b/vendor/symfony/polyfill-php70/LICENSE
index 24fa32c2e9b27aef3eac523f0042b8ab9ba81944..4cd8bdd3007da4d62985ec9e5ca81a1e18ae34d1 100644
--- a/vendor/symfony/polyfill-php70/LICENSE
+++ b/vendor/symfony/polyfill-php70/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2015-2018 Fabien Potencier
+Copyright (c) 2015-2019 Fabien Potencier
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal
diff --git a/vendor/symfony/polyfill-php70/composer.json b/vendor/symfony/polyfill-php70/composer.json
index 13dcf94a62e29bf15e8f938a1c9af0c26eb0db68..923f3095735202bbfbb486464f959b2e253a3143 100644
--- a/vendor/symfony/polyfill-php70/composer.json
+++ b/vendor/symfony/polyfill-php70/composer.json
@@ -27,7 +27,7 @@
     "minimum-stability": "dev",
     "extra": {
         "branch-alias": {
-            "dev-master": "1.9-dev"
+            "dev-master": "1.11-dev"
         }
     }
 }
diff --git a/vendor/symfony/process/ExecutableFinder.php b/vendor/symfony/process/ExecutableFinder.php
index a621fc6918e5d6213003397df6a889326e80695f..cb4345e7bb4246ee4fdad4a12f6476037a3e7a10 100644
--- a/vendor/symfony/process/ExecutableFinder.php
+++ b/vendor/symfony/process/ExecutableFinder.php
@@ -51,7 +51,7 @@ public function addSuffix($suffix)
     public function find($name, $default = null, array $extraDirs = [])
     {
         if (ini_get('open_basedir')) {
-            $searchPath = explode(PATH_SEPARATOR, ini_get('open_basedir'));
+            $searchPath = array_merge(explode(PATH_SEPARATOR, ini_get('open_basedir')), $extraDirs);
             $dirs = [];
             foreach ($searchPath as $path) {
                 // Silencing against https://bugs.php.net/69240
diff --git a/vendor/symfony/psr-http-message-bridge/.travis.yml b/vendor/symfony/psr-http-message-bridge/.travis.yml
index 6c9646aaa6f2fc298d9b38d130ef999e5606cd65..8ac385be632737f5eb21c9c7fca51941c2694499 100644
--- a/vendor/symfony/psr-http-message-bridge/.travis.yml
+++ b/vendor/symfony/psr-http-message-bridge/.travis.yml
@@ -9,13 +9,13 @@ env:
     global:
         - PHPUNIT_FLAGS="-v"
         - SYMFONY_PHPUNIT_DIR="$HOME/symfony-bridge/.phpunit"
-        - DEPENDENCIES="zendframework/zend-diactoros:^1.4.1 http-interop/http-factory-diactoros:^1.0"
+        - DEPENDENCIES="nyholm/psr7:^1.1"
 
 matrix:
     fast_finish: true
     include:
           # Minimum supported dependencies with the latest and oldest PHP version
-        - php: 7.2
+        - php: 7.3
           env: COMPOSER_FLAGS="--prefer-stable --prefer-lowest" SYMFONY_DEPRECATIONS_HELPER="weak_vendors"
         - php: 5.3
           dist: 'precise'
@@ -24,7 +24,7 @@ matrix:
           # Test the latest stable release
         - php: 5.3
           dist: 'precise'
-          env: DEPENDENCIES=""
+          env: DEPENDENCIES="symfony/phpunit-bridge:>=3.4,<3.4.22||>=4.0,<4.1.11||>=4.2,<4.2.3"
         - php: 5.4
           env: DEPENDENCIES="zendframework/zend-diactoros:^1.4.1"
         - php: 5.5
@@ -32,19 +32,21 @@ matrix:
         - php: 5.6
           env: DEPENDENCIES="zendframework/zend-diactoros:^1.4.1"
         - php: 7.0
+          env: DEPENDENCIES="zendframework/zend-diactoros:^1.4.1 http-interop/http-factory-diactoros:^1.0"
         - php: 7.1
         - php: 7.2
+        - php: 7.3
           env: COVERAGE=true PHPUNIT_FLAGS="-v --coverage-text"
 
           # Test LTS versions. This makes sure we do not use Symfony packages with version greater
           # than 2 or 3 respectively.
-        - php: 7.2
+        - php: 7.3
           env: DEPENDENCIES="$DEPENDENCIES symfony/lts:^2 symfony/force-lowest:~2.8.0"
-        - php: 7.2
+        - php: 7.3
           env: DEPENDENCIES="$DEPENDENCIES symfony/lts:^3 symfony/force-lowest:~3.4.0"
 
           # Latest commit to master
-        - php: 7.2
+        - php: 7.3
           env: STABILITY="dev"
 
     allow_failures:
diff --git a/vendor/symfony/psr-http-message-bridge/Factory/HttpFoundationFactory.php b/vendor/symfony/psr-http-message-bridge/Factory/HttpFoundationFactory.php
index 8bf209dc15ca67666b9dc4e5bf4f26082a0f05e6..8842ad0415d0f194727ffac6364bfe2fcb2ae9ac 100644
--- a/vendor/symfony/psr-http-message-bridge/Factory/HttpFoundationFactory.php
+++ b/vendor/symfony/psr-http-message-bridge/Factory/HttpFoundationFactory.php
@@ -141,7 +141,7 @@ protected function getTemporaryPath()
     public function createResponse(ResponseInterface $psrResponse)
     {
         $cookies = $psrResponse->getHeader('Set-Cookie');
-        $psrResponse = $psrResponse->withHeader('Set-Cookie', array());
+        $psrResponse = $psrResponse->withoutHeader('Set-Cookie');
 
         $response = new Response(
             $psrResponse->getBody()->__toString(),
diff --git a/vendor/symfony/psr-http-message-bridge/Tests/Factory/AbstractHttpMessageFactoryTest.php b/vendor/symfony/psr-http-message-bridge/Tests/Factory/AbstractHttpMessageFactoryTest.php
index 5855c7a4571ac0954f69d3fbbe5a12eadb39054c..d3e3f7e03fe796251807a5ab145e98cf1391d907 100644
--- a/vendor/symfony/psr-http-message-bridge/Tests/Factory/AbstractHttpMessageFactoryTest.php
+++ b/vendor/symfony/psr-http-message-bridge/Tests/Factory/AbstractHttpMessageFactoryTest.php
@@ -149,7 +149,7 @@ public function testCreateResponse()
             202,
             array('X-Symfony' => array('3.4'))
         );
-        $response->headers->setCookie(new Cookie('city', 'Lille', new \DateTime('Wed, 13 Jan 2021 22:23:01 GMT'), '/', null, false, true, false, ''));
+        $response->headers->setCookie(new Cookie('city', 'Lille', new \DateTime('Wed, 13 Jan 2021 22:23:01 GMT'), '/', null, false, true, false, 'lax'));
 
         $psrResponse = $this->factory->createResponse($response);
         $this->assertEquals('Response content.', $psrResponse->getBody()->__toString());
diff --git a/vendor/symfony/psr-http-message-bridge/Tests/Factory/PsrHttpFactoryTest.php b/vendor/symfony/psr-http-message-bridge/Tests/Factory/PsrHttpFactoryTest.php
index da12ea7bd971113f7c40c893429c0ec37fd49003..1aeff078311d9665a36caacefb7a8272028c9edf 100644
--- a/vendor/symfony/psr-http-message-bridge/Tests/Factory/PsrHttpFactoryTest.php
+++ b/vendor/symfony/psr-http-message-bridge/Tests/Factory/PsrHttpFactoryTest.php
@@ -11,6 +11,10 @@
 
 namespace Symfony\Bridge\PsrHttpMessage\Tests\Factory;
 
+use Http\Factory\Diactoros\ResponseFactory;
+use Http\Factory\Diactoros\ServerRequestFactory;
+use Http\Factory\Diactoros\StreamFactory;
+use Http\Factory\Diactoros\UploadedFileFactory;
 use Nyholm\Psr7\Factory\Psr17Factory;
 use Symfony\Bridge\PsrHttpMessage\Factory\PsrHttpFactory;
 
@@ -22,8 +26,20 @@ class PsrHttpFactoryTest extends AbstractHttpMessageFactoryTest
 {
     protected function buildHttpMessageFactory()
     {
-        $factory = new Psr17Factory();
+        if (class_exists('Nyholm\Psr7\Factory\Psr17Factory')) {
+            $factory = new Psr17Factory();
+            return new PsrHttpFactory($factory, $factory, $factory, $factory);
+        }
 
-        return new PsrHttpFactory($factory, $factory, $factory, $factory);
+        if (class_exists('Http\Factory\Diactoros\ServerRequestFactory')) {
+            return new PsrHttpFactory(
+                new ServerRequestFactory(),
+                new StreamFactory(),
+                new UploadedFileFactory(),
+                new ResponseFactory()
+            );
+        }
+
+        $this->markTestSkipped('No PSR-17 HTTP Factory installed.');
     }
 }
diff --git a/vendor/symfony/psr-http-message-bridge/Tests/Fixtures/Message.php b/vendor/symfony/psr-http-message-bridge/Tests/Fixtures/Message.php
index 43ac394e850a3c2df1d209f1e4a3ea00bc8bcdd7..30f2b790d494c92db18f6fd5336d7f1989405808 100644
--- a/vendor/symfony/psr-http-message-bridge/Tests/Fixtures/Message.php
+++ b/vendor/symfony/psr-http-message-bridge/Tests/Fixtures/Message.php
@@ -76,7 +76,9 @@ public function withAddedHeader($name, $value)
 
     public function withoutHeader($name)
     {
-        throw new \BadMethodCallException('Not implemented.');
+        unset($this->headers[$name]);
+
+        return $this;
     }
 
     public function getBody()
diff --git a/vendor/symfony/psr-http-message-bridge/composer.json b/vendor/symfony/psr-http-message-bridge/composer.json
index 692f858a67ad157a412f597c3cbee5d336d193c3..c1eb5fbef71e58a07c8d32c7a60b5461ca7b3357 100644
--- a/vendor/symfony/psr-http-message-bridge/composer.json
+++ b/vendor/symfony/psr-http-message-bridge/composer.json
@@ -21,8 +21,7 @@
         "symfony/http-foundation": "^2.3.42 || ^3.4 || ^4.0"
     },
     "require-dev": {
-        "symfony/phpunit-bridge": "^3.4 || ^4.0",
-        "nyholm/psr7": "^1.1"
+        "symfony/phpunit-bridge": "^3.4 || ^4.0"
     },
     "suggest": {
         "nyholm/psr7": "For a super lightweight PSR-7/17 implementation"
diff --git a/vendor/symfony/routing/CHANGELOG.md b/vendor/symfony/routing/CHANGELOG.md
index 3d34c1d1677c1deba7dbff3d6536ca6bbd3cbbdb..19fd7da725656d5164bf421e6b52d1a400e271f1 100644
--- a/vendor/symfony/routing/CHANGELOG.md
+++ b/vendor/symfony/routing/CHANGELOG.md
@@ -57,7 +57,7 @@ CHANGELOG
 
  * [DEPRECATION] The `ApacheMatcherDumper` and `ApacheUrlMatcher` were deprecated and
    will be removed in Symfony 3.0, since the performance gains were minimal and
-   it's hard to replicate the behaviour of PHP implementation.
+   it's hard to replicate the behavior of PHP implementation.
 
 2.3.0
 -----
diff --git a/vendor/symfony/routing/Loader/AnnotationFileLoader.php b/vendor/symfony/routing/Loader/AnnotationFileLoader.php
index dfea551fa16f53bfc45bd72da5527a33342dc571..b155510ed564c26627a499fc74c0e5feacebcfcf 100644
--- a/vendor/symfony/routing/Loader/AnnotationFileLoader.php
+++ b/vendor/symfony/routing/Loader/AnnotationFileLoader.php
@@ -56,6 +56,11 @@ public function load($file, $type = null)
 
         $collection = new RouteCollection();
         if ($class = $this->findClass($path)) {
+            $refl = new \ReflectionClass($class);
+            if ($refl->isAbstract()) {
+                return;
+            }
+
             $collection->addResource(new FileResource($path));
             $collection->addCollection($this->loader->load($class, $type));
         }
diff --git a/vendor/symfony/routing/Loader/DependencyInjection/ServiceRouterLoader.php b/vendor/symfony/routing/Loader/DependencyInjection/ServiceRouterLoader.php
index 6c1621635b943862c9838371460d1bfc89eb2452..0276719c10e8e9abba45c4094df15ec31d80e1fa 100644
--- a/vendor/symfony/routing/Loader/DependencyInjection/ServiceRouterLoader.php
+++ b/vendor/symfony/routing/Loader/DependencyInjection/ServiceRouterLoader.php
@@ -17,8 +17,6 @@
 /**
  * A route loader that executes a service to load the routes.
  *
- * This depends on the DependencyInjection component.
- *
  * @author Ryan Weaver <ryan@knpuniversity.com>
  */
 class ServiceRouterLoader extends ObjectRouteLoader
diff --git a/vendor/symfony/routing/Loader/PhpFileLoader.php b/vendor/symfony/routing/Loader/PhpFileLoader.php
index 9e009387dddd3d6f181a8d8c9b42a7a667ee98a6..d81e7e82e7dbc507eeba5bd2367e27da3277dcf1 100644
--- a/vendor/symfony/routing/Loader/PhpFileLoader.php
+++ b/vendor/symfony/routing/Loader/PhpFileLoader.php
@@ -48,7 +48,7 @@ public function load($file, $type = null)
 
         if ($result instanceof \Closure) {
             $collection = new RouteCollection();
-            $result(new RoutingConfigurator($collection, $this, $path, $file), $this);
+            $result(new RoutingConfigurator($collection, $this, $path, $file));
         } else {
             $collection = $result;
         }
diff --git a/vendor/symfony/routing/Loader/XmlFileLoader.php b/vendor/symfony/routing/Loader/XmlFileLoader.php
index e56add97a34ff5629c105c4b47ec9f83e6887c55..444a08a77685be2906020d21e875bfbd1ae99a5c 100644
--- a/vendor/symfony/routing/Loader/XmlFileLoader.php
+++ b/vendor/symfony/routing/Loader/XmlFileLoader.php
@@ -208,6 +208,7 @@ private function parseConfigs(\DOMElement $node, $path)
         $options = [];
         $condition = null;
 
+        /** @var \DOMElement $n */
         foreach ($node->getElementsByTagNameNS(self::NAMESPACE_URI, '*') as $n) {
             if ($node !== $n->parentNode) {
                 continue;
@@ -226,7 +227,7 @@ private function parseConfigs(\DOMElement $node, $path)
                     $requirements[$n->getAttribute('key')] = trim($n->textContent);
                     break;
                 case 'option':
-                    $options[$n->getAttribute('key')] = trim($n->textContent);
+                    $options[$n->getAttribute('key')] = XmlUtils::phpize(trim($n->textContent));
                     break;
                 case 'condition':
                     $condition = trim($n->textContent);
diff --git a/vendor/symfony/routing/Tests/Fixtures/AnnotatedClasses/AbstractClass.php b/vendor/symfony/routing/Tests/Fixtures/AnnotatedClasses/AbstractClass.php
index 56bcab2a91d4fb565b5af5ea0d4c9c9d2dbbcc30..bd7ea962c144c9bc10d884a83bf7c3e0562782df 100644
--- a/vendor/symfony/routing/Tests/Fixtures/AnnotatedClasses/AbstractClass.php
+++ b/vendor/symfony/routing/Tests/Fixtures/AnnotatedClasses/AbstractClass.php
@@ -13,4 +13,9 @@
 
 abstract class AbstractClass
 {
+    abstract public function abstractRouteAction();
+
+    public function routeAction($arg1, $arg2 = 'defaultValue2', $arg3 = 'defaultValue3')
+    {
+    }
 }
diff --git a/vendor/symfony/routing/Tests/Fixtures/controller/import__controller.xml b/vendor/symfony/routing/Tests/Fixtures/controller/import__controller.xml
index bbe727d41be36a17263472fde2a1d86c378a133c..5c62914f90d2e24d1722f9cb40b114b4ead9b9fe 100644
--- a/vendor/symfony/routing/Tests/Fixtures/controller/import__controller.xml
+++ b/vendor/symfony/routing/Tests/Fixtures/controller/import__controller.xml
@@ -2,7 +2,7 @@
 <routes xmlns="http://symfony.com/schema/routing"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://symfony.com/schema/routing
-        http://symfony.com/schema/routing/routing-1.0.xsd">
+        https://symfony.com/schema/routing/routing-1.0.xsd">
 
     <import resource="routing.xml">
         <default key="_controller">FrameworkBundle:Template:template</default>
diff --git a/vendor/symfony/routing/Tests/Fixtures/controller/import_controller.xml b/vendor/symfony/routing/Tests/Fixtures/controller/import_controller.xml
index 378b9ca18fa43b0c6c269bea96a19d4edc5fed3e..8f52c4ec1479e36067672dd91465e2e0c6054081 100644
--- a/vendor/symfony/routing/Tests/Fixtures/controller/import_controller.xml
+++ b/vendor/symfony/routing/Tests/Fixtures/controller/import_controller.xml
@@ -2,7 +2,7 @@
 <routes xmlns="http://symfony.com/schema/routing"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://symfony.com/schema/routing
-        http://symfony.com/schema/routing/routing-1.0.xsd">
+        https://symfony.com/schema/routing/routing-1.0.xsd">
 
     <import resource="routing.xml" controller="FrameworkBundle:Template:template" />
 </routes>
diff --git a/vendor/symfony/routing/Tests/Fixtures/controller/import_override_defaults.xml b/vendor/symfony/routing/Tests/Fixtures/controller/import_override_defaults.xml
index e3c755a40a81c3e6e8d60c004d3b0faa5d2fa1e8..e092500fbd675a9ca796f6f5d25dc242fe484def 100644
--- a/vendor/symfony/routing/Tests/Fixtures/controller/import_override_defaults.xml
+++ b/vendor/symfony/routing/Tests/Fixtures/controller/import_override_defaults.xml
@@ -2,7 +2,7 @@
 <routes xmlns="http://symfony.com/schema/routing"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://symfony.com/schema/routing
-        http://symfony.com/schema/routing/routing-1.0.xsd">
+        https://symfony.com/schema/routing/routing-1.0.xsd">
 
     <import resource="routing.xml" controller="FrameworkBundle:Template:template">
         <default key="_controller">AppBundle:Blog:index</default>
diff --git a/vendor/symfony/routing/Tests/Fixtures/controller/override_defaults.xml b/vendor/symfony/routing/Tests/Fixtures/controller/override_defaults.xml
index f47c57b3085a1c52d73c4f13593bfcffe6ecf81f..f665ddbbcb1a960ab205565fc8af6a150dfe0ae4 100644
--- a/vendor/symfony/routing/Tests/Fixtures/controller/override_defaults.xml
+++ b/vendor/symfony/routing/Tests/Fixtures/controller/override_defaults.xml
@@ -2,7 +2,7 @@
 <routes xmlns="http://symfony.com/schema/routing"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://symfony.com/schema/routing
-        http://symfony.com/schema/routing/routing-1.0.xsd">
+        https://symfony.com/schema/routing/routing-1.0.xsd">
 
     <route id="app_blog" path="/blog" controller="AppBundle:Homepage:show">
         <default key="_controller">AppBundle:Blog:index</default>
diff --git a/vendor/symfony/routing/Tests/Fixtures/controller/routing.xml b/vendor/symfony/routing/Tests/Fixtures/controller/routing.xml
index 6420138a650724e3d8d238e00876a7ae03ee0628..f35e3e0a87b3e70b44d666aec2b3fee77bb9bcf1 100644
--- a/vendor/symfony/routing/Tests/Fixtures/controller/routing.xml
+++ b/vendor/symfony/routing/Tests/Fixtures/controller/routing.xml
@@ -2,7 +2,7 @@
 <routes xmlns="http://symfony.com/schema/routing"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://symfony.com/schema/routing
-        http://symfony.com/schema/routing/routing-1.0.xsd">
+        https://symfony.com/schema/routing/routing-1.0.xsd">
 
     <route id="app_homepage" path="/" controller="AppBundle:Homepage:show" />
 
diff --git a/vendor/symfony/routing/Tests/Fixtures/glob/bar.xml b/vendor/symfony/routing/Tests/Fixtures/glob/bar.xml
index 0d31eeb178fc97a1becf717f0b9d4ffceb6a608d..8a0410c5e65dc08830505d1d4939991e35633fdc 100644
--- a/vendor/symfony/routing/Tests/Fixtures/glob/bar.xml
+++ b/vendor/symfony/routing/Tests/Fixtures/glob/bar.xml
@@ -2,7 +2,7 @@
 <routes xmlns="http://symfony.com/schema/routing"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://symfony.com/schema/routing
-        http://symfony.com/schema/routing/routing-1.0.xsd">
+        https://symfony.com/schema/routing/routing-1.0.xsd">
 
     <route id="bar_route" path="/bar" controller="AppBundle:Bar:view" />
 </routes>
diff --git a/vendor/symfony/routing/Tests/Fixtures/glob/baz.xml b/vendor/symfony/routing/Tests/Fixtures/glob/baz.xml
index 3abba1acede10653997fa35c20cae1cc8b7ddecb..4b48a0f3d161eda5e6708c5bb86f9194abad533f 100644
--- a/vendor/symfony/routing/Tests/Fixtures/glob/baz.xml
+++ b/vendor/symfony/routing/Tests/Fixtures/glob/baz.xml
@@ -2,7 +2,7 @@
 <routes xmlns="http://symfony.com/schema/routing"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://symfony.com/schema/routing
-        http://symfony.com/schema/routing/routing-1.0.xsd">
+        https://symfony.com/schema/routing/routing-1.0.xsd">
 
     <route id="baz_route" path="/baz" controller="AppBundle:Baz:view" />
 </routes>
diff --git a/vendor/symfony/routing/Tests/Fixtures/glob/import_multiple.xml b/vendor/symfony/routing/Tests/Fixtures/glob/import_multiple.xml
index ca6b1b5a927bb08b52770aa6dc202e281801f741..a08e96d65a0a6f1025170a879b849c3b80fed10d 100644
--- a/vendor/symfony/routing/Tests/Fixtures/glob/import_multiple.xml
+++ b/vendor/symfony/routing/Tests/Fixtures/glob/import_multiple.xml
@@ -2,7 +2,7 @@
 <routes xmlns="http://symfony.com/schema/routing"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://symfony.com/schema/routing
-        http://symfony.com/schema/routing/routing-1.0.xsd">
+        https://symfony.com/schema/routing/routing-1.0.xsd">
 
     <import resource="ba?.xml" />
 </routes>
diff --git a/vendor/symfony/routing/Tests/Fixtures/glob/import_single.xml b/vendor/symfony/routing/Tests/Fixtures/glob/import_single.xml
index 15f5698ccd71224b9d615d281b32f26ae9924ca4..3b26eef1140394bcf61f3051198954e69b9b7b1b 100644
--- a/vendor/symfony/routing/Tests/Fixtures/glob/import_single.xml
+++ b/vendor/symfony/routing/Tests/Fixtures/glob/import_single.xml
@@ -2,7 +2,7 @@
 <routes xmlns="http://symfony.com/schema/routing"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://symfony.com/schema/routing
-        http://symfony.com/schema/routing/routing-1.0.xsd">
+        https://symfony.com/schema/routing/routing-1.0.xsd">
 
     <import resource="b?r.xml" />
 </routes>
diff --git a/vendor/symfony/routing/Tests/Fixtures/list_defaults.xml b/vendor/symfony/routing/Tests/Fixtures/list_defaults.xml
index f93bf9c6aef32aa1d8c7a5fe0c8e76c98eacd566..01be7c186dcbdbda9607adb3f25bb20f71b833b1 100644
--- a/vendor/symfony/routing/Tests/Fixtures/list_defaults.xml
+++ b/vendor/symfony/routing/Tests/Fixtures/list_defaults.xml
@@ -2,7 +2,7 @@
 <routes xmlns="http://symfony.com/schema/routing"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://symfony.com/schema/routing
-        http://symfony.com/schema/routing/routing-1.0.xsd">
+        https://symfony.com/schema/routing/routing-1.0.xsd">
 
     <route id="blog" path="/blog">
         <default key="_controller">
diff --git a/vendor/symfony/routing/Tests/Fixtures/list_in_list_defaults.xml b/vendor/symfony/routing/Tests/Fixtures/list_in_list_defaults.xml
index 987086dbdf21a3328f54d6d55c64cef2e30b6a4a..65baabe333f483b879a15fa3a69d156d816afeba 100644
--- a/vendor/symfony/routing/Tests/Fixtures/list_in_list_defaults.xml
+++ b/vendor/symfony/routing/Tests/Fixtures/list_in_list_defaults.xml
@@ -2,7 +2,7 @@
 <routes xmlns="http://symfony.com/schema/routing"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://symfony.com/schema/routing
-        http://symfony.com/schema/routing/routing-1.0.xsd">
+        https://symfony.com/schema/routing/routing-1.0.xsd">
 
     <route id="blog" path="/blog">
         <default key="_controller">
diff --git a/vendor/symfony/routing/Tests/Fixtures/list_in_map_defaults.xml b/vendor/symfony/routing/Tests/Fixtures/list_in_map_defaults.xml
index 32d393c56ffc3aae3fde306c0bab555e1a3d80a3..f0d972d1f2687160648760ee4fb66c3941feb75e 100644
--- a/vendor/symfony/routing/Tests/Fixtures/list_in_map_defaults.xml
+++ b/vendor/symfony/routing/Tests/Fixtures/list_in_map_defaults.xml
@@ -2,7 +2,7 @@
 <routes xmlns="http://symfony.com/schema/routing"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://symfony.com/schema/routing
-        http://symfony.com/schema/routing/routing-1.0.xsd">
+        https://symfony.com/schema/routing/routing-1.0.xsd">
 
     <route id="blog" path="/blog">
         <default key="_controller">
diff --git a/vendor/symfony/routing/Tests/Fixtures/list_null_values.xml b/vendor/symfony/routing/Tests/Fixtures/list_null_values.xml
index c70e03ccc6815bb49584d15acefd6d485446c6da..45bdd9da4a50927f82e2e20c32f0bfe8510ce08f 100644
--- a/vendor/symfony/routing/Tests/Fixtures/list_null_values.xml
+++ b/vendor/symfony/routing/Tests/Fixtures/list_null_values.xml
@@ -2,7 +2,7 @@
 <routes xmlns="http://symfony.com/schema/routing"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://symfony.com/schema/routing
-        http://symfony.com/schema/routing/routing-1.0.xsd">
+        https://symfony.com/schema/routing/routing-1.0.xsd">
 
     <route id="blog" path="/blog">
         <default key="_controller">
diff --git a/vendor/symfony/routing/Tests/Fixtures/localized/utf8.xml b/vendor/symfony/routing/Tests/Fixtures/localized/utf8.xml
new file mode 100644
index 0000000000000000000000000000000000000000..95aff20cfee1a996562536910df28a8b6a06bdd1
--- /dev/null
+++ b/vendor/symfony/routing/Tests/Fixtures/localized/utf8.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<routes xmlns="http://symfony.com/schema/routing"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="http://symfony.com/schema/routing
+        http://symfony.com/schema/routing/routing-1.0.xsd">
+
+    <route id="app_utf8" path="/utf8">
+        <option key="utf8">true</option>
+    </route>
+    <route id="app_no_utf8" path="/no-utf8">
+        <option key="utf8">false</option>
+    </route>
+</routes>
diff --git a/vendor/symfony/routing/Tests/Fixtures/map_defaults.xml b/vendor/symfony/routing/Tests/Fixtures/map_defaults.xml
index 47feb29b9a3d79850755a0e2aaac5e4ab73f5bae..9f080443213765bec09f9343f3c6629ca8afb422 100644
--- a/vendor/symfony/routing/Tests/Fixtures/map_defaults.xml
+++ b/vendor/symfony/routing/Tests/Fixtures/map_defaults.xml
@@ -2,7 +2,7 @@
 <routes xmlns="http://symfony.com/schema/routing"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://symfony.com/schema/routing
-        http://symfony.com/schema/routing/routing-1.0.xsd">
+        https://symfony.com/schema/routing/routing-1.0.xsd">
 
     <route id="blog" path="/blog">
         <default key="_controller">
diff --git a/vendor/symfony/routing/Tests/Fixtures/map_in_list_defaults.xml b/vendor/symfony/routing/Tests/Fixtures/map_in_list_defaults.xml
index 6d770653bbb721d53cc91a51dbfac6b31ab38a23..1c8b87df3bf0b2fc2c24f51255464a3f1899ea4c 100644
--- a/vendor/symfony/routing/Tests/Fixtures/map_in_list_defaults.xml
+++ b/vendor/symfony/routing/Tests/Fixtures/map_in_list_defaults.xml
@@ -2,7 +2,7 @@
 <routes xmlns="http://symfony.com/schema/routing"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://symfony.com/schema/routing
-        http://symfony.com/schema/routing/routing-1.0.xsd">
+        https://symfony.com/schema/routing/routing-1.0.xsd">
 
     <route id="blog" path="/blog">
         <default key="_controller">
diff --git a/vendor/symfony/routing/Tests/Fixtures/map_in_map_defaults.xml b/vendor/symfony/routing/Tests/Fixtures/map_in_map_defaults.xml
index 2beee6143357f2dd95b20ede5ff99552590e7f49..a3af49283e28313438dc9af1a17e8e6b227406aa 100644
--- a/vendor/symfony/routing/Tests/Fixtures/map_in_map_defaults.xml
+++ b/vendor/symfony/routing/Tests/Fixtures/map_in_map_defaults.xml
@@ -2,7 +2,7 @@
 <routes xmlns="http://symfony.com/schema/routing"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://symfony.com/schema/routing
-        http://symfony.com/schema/routing/routing-1.0.xsd">
+        https://symfony.com/schema/routing/routing-1.0.xsd">
 
     <route id="blog" path="/blog">
         <default key="_controller">
diff --git a/vendor/symfony/routing/Tests/Fixtures/map_null_values.xml b/vendor/symfony/routing/Tests/Fixtures/map_null_values.xml
index 8fd8954e02f30a6f72807ea398c4423dd3da993c..a8153ad1fff7f09736c8c0d17fae9cb006b090b4 100644
--- a/vendor/symfony/routing/Tests/Fixtures/map_null_values.xml
+++ b/vendor/symfony/routing/Tests/Fixtures/map_null_values.xml
@@ -2,7 +2,7 @@
 <routes xmlns="http://symfony.com/schema/routing"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://symfony.com/schema/routing
-        http://symfony.com/schema/routing/routing-1.0.xsd">
+        https://symfony.com/schema/routing/routing-1.0.xsd">
 
     <route id="blog" path="/blog">
         <default key="_controller">
diff --git a/vendor/symfony/routing/Tests/Fixtures/missing_id.xml b/vendor/symfony/routing/Tests/Fixtures/missing_id.xml
index 4ea4115f281a1d40fda70ce51cae0952111fb4cf..fa42e98b7f6303a6ca7abc66f1b12b2829e2d2b6 100644
--- a/vendor/symfony/routing/Tests/Fixtures/missing_id.xml
+++ b/vendor/symfony/routing/Tests/Fixtures/missing_id.xml
@@ -2,7 +2,7 @@
 
 <routes xmlns="http://symfony.com/schema/routing"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/routing http://symfony.com/schema/routing/routing-1.0.xsd">
+    xsi:schemaLocation="http://symfony.com/schema/routing https://symfony.com/schema/routing/routing-1.0.xsd">
 
     <route path="/test"></route>
 </routes>
diff --git a/vendor/symfony/routing/Tests/Fixtures/missing_path.xml b/vendor/symfony/routing/Tests/Fixtures/missing_path.xml
index ef5bc088dd003522eaa50dfa8edb0c1d9b0a9792..d048adb17c35bdb3705bd9ee0fcadb9a557bd0c2 100644
--- a/vendor/symfony/routing/Tests/Fixtures/missing_path.xml
+++ b/vendor/symfony/routing/Tests/Fixtures/missing_path.xml
@@ -2,7 +2,7 @@
 
 <routes xmlns="http://symfony.com/schema/routing"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/routing http://symfony.com/schema/routing/routing-1.0.xsd">
+    xsi:schemaLocation="http://symfony.com/schema/routing https://symfony.com/schema/routing/routing-1.0.xsd">
 
     <route id="myroute"></route>
 </routes>
diff --git a/vendor/symfony/routing/Tests/Fixtures/namespaceprefix.xml b/vendor/symfony/routing/Tests/Fixtures/namespaceprefix.xml
index e33955ae47857ff82f44a8bfcd077579ec253e28..f303464d6d0be43d89fc1ca67f25c68a2cf6098c 100644
--- a/vendor/symfony/routing/Tests/Fixtures/namespaceprefix.xml
+++ b/vendor/symfony/routing/Tests/Fixtures/namespaceprefix.xml
@@ -2,7 +2,7 @@
 
 <r:routes xmlns:r="http://symfony.com/schema/routing"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/routing http://symfony.com/schema/routing/routing-1.0.xsd">
+    xsi:schemaLocation="http://symfony.com/schema/routing https://symfony.com/schema/routing/routing-1.0.xsd">
 
     <r:route id="blog_show" path="/blog/{slug}" host="{_locale}.example.com">
         <r:default key="_controller">MyBundle:Blog:show</r:default>
diff --git a/vendor/symfony/routing/Tests/Fixtures/nonvalid.xml b/vendor/symfony/routing/Tests/Fixtures/nonvalid.xml
index dc147d2e67a25ca21f2b391370e5d4030a4667ff..07f5f801c6b8797d6ae44db9c6a5a7b1a47fbc75 100644
--- a/vendor/symfony/routing/Tests/Fixtures/nonvalid.xml
+++ b/vendor/symfony/routing/Tests/Fixtures/nonvalid.xml
@@ -2,7 +2,7 @@
 
 <routes xmlns="http://symfony.com/schema/routing"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/routing http://symfony.com/schema/routing/routing-1.0.xsd">
+    xsi:schemaLocation="http://symfony.com/schema/routing https://symfony.com/schema/routing/routing-1.0.xsd">
 
     <route id="blog_show" path="/blog/{slug}">
         <default key="_controller">MyBundle:Blog:show</default>
diff --git a/vendor/symfony/routing/Tests/Fixtures/nonvalidnode.xml b/vendor/symfony/routing/Tests/Fixtures/nonvalidnode.xml
index 863ef03b90cebfa57b2c5bc9d51edc87f16db331..71093a4dd48097d0f659f5e6880e544ec9a80791 100644
--- a/vendor/symfony/routing/Tests/Fixtures/nonvalidnode.xml
+++ b/vendor/symfony/routing/Tests/Fixtures/nonvalidnode.xml
@@ -2,7 +2,7 @@
 
 <routes xmlns="http://symfony.com/schema/routing"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/routing http://symfony.com/schema/routing/routing-1.0.xsd">
+    xsi:schemaLocation="http://symfony.com/schema/routing https://symfony.com/schema/routing/routing-1.0.xsd">
 
     <foo>bar</foo>
 </routes>
diff --git a/vendor/symfony/routing/Tests/Fixtures/nonvalidroute.xml b/vendor/symfony/routing/Tests/Fixtures/nonvalidroute.xml
index 908958c032d38024ec73093a3a79ebf9658afacf..f0b84496c8f2f7db047e1fee2df4ba9eba8e0b9b 100644
--- a/vendor/symfony/routing/Tests/Fixtures/nonvalidroute.xml
+++ b/vendor/symfony/routing/Tests/Fixtures/nonvalidroute.xml
@@ -2,7 +2,7 @@
 
 <routes xmlns="http://symfony.com/schema/routing"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/routing http://symfony.com/schema/routing/routing-1.0.xsd">
+    xsi:schemaLocation="http://symfony.com/schema/routing https://symfony.com/schema/routing/routing-1.0.xsd">
 
     <route id="blog_show" path="/blog/{slug}">
         <default key="_controller">MyBundle:Blog:show</default>
diff --git a/vendor/symfony/routing/Tests/Fixtures/null_values.xml b/vendor/symfony/routing/Tests/Fixtures/null_values.xml
index f9e2aa24df804f6ab8c09b20f54fc05c813b6903..078d49ae4f5a33fa6ad2fcd731762ad56a020e95 100644
--- a/vendor/symfony/routing/Tests/Fixtures/null_values.xml
+++ b/vendor/symfony/routing/Tests/Fixtures/null_values.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <routes xmlns="http://symfony.com/schema/routing"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/routing http://symfony.com/schema/routing/routing-1.0.xsd">
+    xsi:schemaLocation="http://symfony.com/schema/routing https://symfony.com/schema/routing/routing-1.0.xsd">
 
     <route id="blog_show" path="/blog/{slug}">
         <default key="foo" xsi:nil="true" />
diff --git a/vendor/symfony/routing/Tests/Fixtures/scalar_defaults.xml b/vendor/symfony/routing/Tests/Fixtures/scalar_defaults.xml
index ecfde2801e851b1c7ec39c4e59d6a5977f1c7591..e3f81cc474ca85daad7f6b348ae3ed01269e2ec5 100644
--- a/vendor/symfony/routing/Tests/Fixtures/scalar_defaults.xml
+++ b/vendor/symfony/routing/Tests/Fixtures/scalar_defaults.xml
@@ -2,7 +2,7 @@
 <routes xmlns="http://symfony.com/schema/routing"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://symfony.com/schema/routing
-        http://symfony.com/schema/routing/routing-1.0.xsd">
+        https://symfony.com/schema/routing/routing-1.0.xsd">
 
     <route id="blog" path="/blog">
         <default key="_controller">
diff --git a/vendor/symfony/routing/Tests/Fixtures/validpattern.xml b/vendor/symfony/routing/Tests/Fixtures/validpattern.xml
index dbc72e46ddd4df0510a001ebc686d3c7d4fc5534..93e59d62a762de344aa0be51b57271a6246ba91d 100644
--- a/vendor/symfony/routing/Tests/Fixtures/validpattern.xml
+++ b/vendor/symfony/routing/Tests/Fixtures/validpattern.xml
@@ -2,7 +2,7 @@
 
 <routes xmlns="http://symfony.com/schema/routing"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/routing http://symfony.com/schema/routing/routing-1.0.xsd">
+    xsi:schemaLocation="http://symfony.com/schema/routing https://symfony.com/schema/routing/routing-1.0.xsd">
 
     <route id="blog_show" path="/blog/{slug}" host="{locale}.example.com" methods="GET|POST  put,OpTiOnS" schemes="hTTps">
         <default key="_controller">MyBundle:Blog:show</default>
diff --git a/vendor/symfony/routing/Tests/Fixtures/validresource.xml b/vendor/symfony/routing/Tests/Fixtures/validresource.xml
index b7a15ddc7ee1fc008d3f80ee566b5359a83eb6ca..02dfe6be80d1d0f0b64acd0a2b960ac0b8588731 100644
--- a/vendor/symfony/routing/Tests/Fixtures/validresource.xml
+++ b/vendor/symfony/routing/Tests/Fixtures/validresource.xml
@@ -2,7 +2,7 @@
 
 <routes xmlns="http://symfony.com/schema/routing"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/routing http://symfony.com/schema/routing/routing-1.0.xsd">
+    xsi:schemaLocation="http://symfony.com/schema/routing https://symfony.com/schema/routing/routing-1.0.xsd">
 
     <import resource="validpattern.xml" prefix="/{foo}" host="">
         <default key="foo">123</default>
diff --git a/vendor/symfony/routing/Tests/Loader/AnnotationFileLoaderTest.php b/vendor/symfony/routing/Tests/Loader/AnnotationFileLoaderTest.php
index 26a897ea64835ca371d83e14213fcae1c4daaeb8..43eb44e48df9e7453e8d89ae50b1d6bd0e95dd03 100644
--- a/vendor/symfony/routing/Tests/Loader/AnnotationFileLoaderTest.php
+++ b/vendor/symfony/routing/Tests/Loader/AnnotationFileLoaderTest.php
@@ -78,6 +78,14 @@ public function testLoadAnonymousClass()
         $this->loader->load(__DIR__.'/../Fixtures/OtherAnnotatedClasses/AnonymousClassInTrait.php');
     }
 
+    public function testLoadAbstractClass()
+    {
+        $this->reader->expects($this->never())->method('getClassAnnotation');
+        $this->reader->expects($this->never())->method('getMethodAnnotations');
+
+        $this->loader->load(__DIR__.'/../Fixtures/AnnotatedClasses/AbstractClass.php');
+    }
+
     public function testSupports()
     {
         $fixture = __DIR__.'/../Fixtures/annotated.php';
diff --git a/vendor/symfony/routing/Tests/Loader/XmlFileLoaderTest.php b/vendor/symfony/routing/Tests/Loader/XmlFileLoaderTest.php
index 66588e7e900ac8c90093d98a6e3ef711eedea881..9a061b295afbe8232f7e885aaef50fbd03af8f7a 100644
--- a/vendor/symfony/routing/Tests/Loader/XmlFileLoaderTest.php
+++ b/vendor/symfony/routing/Tests/Loader/XmlFileLoaderTest.php
@@ -83,6 +83,26 @@ public function testLoadWithImport()
         }
     }
 
+    public function testUtf8Route()
+    {
+        $loader = new XmlFileLoader(new FileLocator([__DIR__.'/../Fixtures/localized']));
+        $routeCollection = $loader->load('utf8.xml');
+        $routes = $routeCollection->all();
+
+        $this->assertCount(2, $routes, 'Two routes are loaded');
+        $this->assertContainsOnly('Symfony\Component\Routing\Route', $routes);
+
+        $utf8Route = $routeCollection->get('app_utf8');
+
+        $this->assertSame('/utf8', $utf8Route->getPath());
+        $this->assertTrue($utf8Route->getOption('utf8'), 'Must be utf8');
+
+        $noUtf8Route = $routeCollection->get('app_no_utf8');
+
+        $this->assertSame('/no-utf8', $noUtf8Route->getPath());
+        $this->assertFalse($noUtf8Route->getOption('utf8'), 'Must not be utf8');
+    }
+
     /**
      * @expectedException \InvalidArgumentException
      * @dataProvider getPathsToInvalidFiles
diff --git a/vendor/symfony/routing/composer.json b/vendor/symfony/routing/composer.json
index 266d52b7d02a5c2117f0ad60d1509f2252025d24..e623e294fdf74541572570ffd79155c7973fd415 100644
--- a/vendor/symfony/routing/composer.json
+++ b/vendor/symfony/routing/composer.json
@@ -37,8 +37,7 @@
         "symfony/config": "For using the all-in-one router or any loader",
         "symfony/yaml": "For using the YAML loader",
         "symfony/expression-language": "For using expression matching",
-        "doctrine/annotations": "For using the annotation loader",
-        "symfony/dependency-injection": "For loading routes from a service"
+        "doctrine/annotations": "For using the annotation loader"
     },
     "autoload": {
         "psr-4": { "Symfony\\Component\\Routing\\": "" },
diff --git a/vendor/symfony/serializer/Normalizer/AbstractNormalizer.php b/vendor/symfony/serializer/Normalizer/AbstractNormalizer.php
index 3f181e4e99a55e2a71b4ac5b34b6eee88ef99eb9..c5bd3ffd972028ed0e49e5d12f40010f0ecc41d9 100644
--- a/vendor/symfony/serializer/Normalizer/AbstractNormalizer.php
+++ b/vendor/symfony/serializer/Normalizer/AbstractNormalizer.php
@@ -330,9 +330,15 @@ protected function instantiateObject(array &$data, $class, array &$context, \Ref
 
             return $object;
         }
+        // clean up even if no match
+        unset($context[static::OBJECT_TO_POPULATE]);
 
         $constructor = $this->getConstructor($data, $class, $context, $reflectionClass, $allowedAttributes);
         if ($constructor) {
+            if (true !== $constructor->isPublic()) {
+                return $reflectionClass->newInstanceWithoutConstructor();
+            }
+
             $constructorParameters = $constructor->getParameters();
 
             $params = [];
@@ -391,7 +397,7 @@ protected function denormalizeParameter(\ReflectionClass $class, \ReflectionPara
                 }
                 $parameterClass = $parameter->getClass()->getName();
 
-                return $this->serializer->denormalize($parameterData, $parameterClass, $format, $this->createChildContext($context, $parameterName));
+                return $this->serializer->denormalize($parameterData, $parameterClass, $format, $this->createChildContext($context, $parameterName, $format));
             }
 
             return $parameterData;
@@ -401,14 +407,15 @@ protected function denormalizeParameter(\ReflectionClass $class, \ReflectionPara
     }
 
     /**
-     * @param array  $parentContext
-     * @param string $attribute
+     * @param array       $parentContext
+     * @param string      $attribute     Attribute name
+     * @param string|null $format
      *
      * @return array
      *
      * @internal
      */
-    protected function createChildContext(array $parentContext, $attribute)
+    protected function createChildContext(array $parentContext, $attribute/*, string $format = null */)
     {
         if (isset($parentContext[self::ATTRIBUTES][$attribute])) {
             $parentContext[self::ATTRIBUTES] = $parentContext[self::ATTRIBUTES][$attribute];
diff --git a/vendor/symfony/serializer/Normalizer/AbstractObjectNormalizer.php b/vendor/symfony/serializer/Normalizer/AbstractObjectNormalizer.php
index 17c31b132b29c2e8f8ccf58b2963cc7787910640..38908a9323ba1cc467ec405214f685a895bbe935 100644
--- a/vendor/symfony/serializer/Normalizer/AbstractObjectNormalizer.php
+++ b/vendor/symfony/serializer/Normalizer/AbstractObjectNormalizer.php
@@ -94,7 +94,7 @@ public function normalize($object, $format = null, array $context = [])
                 throw new LogicException(sprintf('Cannot normalize attribute "%s" because the injected serializer is not a normalizer', $attribute));
             }
 
-            $data = $this->updateData($data, $attribute, $this->serializer->normalize($attributeValue, $format, $this->createChildContext($context, $attribute)));
+            $data = $this->updateData($data, $attribute, $this->serializer->normalize($attributeValue, $format, $this->createChildContext($context, $attribute, $format)));
         }
 
         return $data;
@@ -128,15 +128,13 @@ protected function getAttributes($object, $format = null, array $context)
             return $allowedAttributes;
         }
 
-        if (isset($context['attributes'])) {
-            return $this->extractAttributes($object, $format, $context);
-        }
+        $attributes = $this->extractAttributes($object, $format, $context);
 
-        if (isset($this->attributesCache[$class])) {
-            return $this->attributesCache[$class];
+        if ($context['cache_key']) {
+            $this->attributesCache[$key] = $attributes;
         }
 
-        return $this->attributesCache[$class] = $this->extractAttributes($object, $format, $context);
+        return $attributes;
     }
 
     /**
@@ -276,7 +274,7 @@ private function validateAndDenormalize($currentClass, $attribute, $data, $forma
                     throw new LogicException(sprintf('Cannot denormalize attribute "%s" for class "%s" because injected serializer is not a denormalizer', $attribute, $class));
                 }
 
-                $childContext = $this->createChildContext($context, $attribute);
+                $childContext = $this->createChildContext($context, $attribute, $format);
                 if ($this->serializer->supportsDenormalization($data, $class, $format, $childContext)) {
                     return $this->serializer->denormalize($data, $class, $format, $childContext);
                 }
@@ -373,7 +371,32 @@ private function isMaxDepthReached(array $attributesMetadata, $class, $attribute
     }
 
     /**
-     * Gets the cache key to use.
+     * Overwritten to update the cache key for the child.
+     *
+     * We must not mix up the attribute cache between parent and children.
+     *
+     * {@inheritdoc}
+     */
+    protected function createChildContext(array $parentContext, $attribute/*, string $format = null */)
+    {
+        if (\func_num_args() >= 3) {
+            $format = \func_get_arg(2);
+        } else {
+            // will be deprecated in version 4
+            $format = null;
+        }
+
+        $context = parent::createChildContext($parentContext, $attribute, $format);
+        // format is already included in the cache_key of the parent.
+        $context['cache_key'] = $this->getCacheKey($format, $context);
+
+        return $context;
+    }
+
+    /**
+     * Builds the cache key for the attributes cache.
+     *
+     * The key must be different for every option in the context that could change which attributes should be handled.
      *
      * @param string|null $format
      * @param array       $context
@@ -382,8 +405,13 @@ private function isMaxDepthReached(array $attributesMetadata, $class, $attribute
      */
     private function getCacheKey($format, array $context)
     {
+        unset($context['cache_key']); // avoid artificially different keys
         try {
-            return md5($format.serialize($context));
+            return md5($format.serialize([
+                'context' => $context,
+                'ignored' => $this->ignoredAttributes,
+                'camelized' => $this->camelizedAttributes,
+            ]));
         } catch (\Exception $exception) {
             // The context cannot be serialized, skip the cache
             return false;
diff --git a/vendor/symfony/serializer/Normalizer/GetSetMethodNormalizer.php b/vendor/symfony/serializer/Normalizer/GetSetMethodNormalizer.php
index d4be31d3d1c9c19c490b7284b450eae44a6c240f..7742da7bc08284835df97dff1f36a18f7d425cc0 100644
--- a/vendor/symfony/serializer/Normalizer/GetSetMethodNormalizer.php
+++ b/vendor/symfony/serializer/Normalizer/GetSetMethodNormalizer.php
@@ -109,7 +109,7 @@ protected function extractAttributes($object, $format = null, array $context = [
 
             $attributeName = lcfirst(substr($method->name, 0 === strpos($method->name, 'is') ? 2 : 3));
 
-            if ($this->isAllowedAttribute($object, $attributeName)) {
+            if ($this->isAllowedAttribute($object, $attributeName, $format, $context)) {
                 $attributes[] = $attributeName;
             }
         }
diff --git a/vendor/symfony/serializer/Normalizer/PropertyNormalizer.php b/vendor/symfony/serializer/Normalizer/PropertyNormalizer.php
index ece267873f25f87bdf0e53840539c5e4cd22a2e7..84047e82c6483438ac3f934ede4df7471f5cffde 100644
--- a/vendor/symfony/serializer/Normalizer/PropertyNormalizer.php
+++ b/vendor/symfony/serializer/Normalizer/PropertyNormalizer.php
@@ -102,7 +102,7 @@ protected function extractAttributes($object, $format = null, array $context = [
 
         do {
             foreach ($reflectionObject->getProperties() as $property) {
-                if (!$this->isAllowedAttribute($reflectionObject->getName(), $property->name)) {
+                if (!$this->isAllowedAttribute($reflectionObject->getName(), $property->name, $format, $context)) {
                     continue;
                 }
 
diff --git a/vendor/symfony/serializer/Tests/Fixtures/serialization.xml b/vendor/symfony/serializer/Tests/Fixtures/serialization.xml
index 9ba51cbfdf6d4c7faeb13cece54568bf920c5b28..9fe4143e73cc76f6477d561d8ff460b7331c2e20 100644
--- a/vendor/symfony/serializer/Tests/Fixtures/serialization.xml
+++ b/vendor/symfony/serializer/Tests/Fixtures/serialization.xml
@@ -2,7 +2,7 @@
 
 <serializer xmlns="http://symfony.com/schema/dic/serializer-mapping"
                     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-                    xsi:schemaLocation="http://symfony.com/schema/dic/serializer-mapping http://symfony.com/schema/dic/serializer-mapping/serializer-mapping-1.0.xsd">
+                    xsi:schemaLocation="http://symfony.com/schema/dic/serializer-mapping https://symfony.com/schema/dic/serializer-mapping/serializer-mapping-1.0.xsd">
 
     <class name="Symfony\Component\Serializer\Tests\Fixtures\GroupDummy">
         <attribute name="foo">
diff --git a/vendor/symfony/serializer/Tests/Normalizer/GetSetMethodNormalizerTest.php b/vendor/symfony/serializer/Tests/Normalizer/GetSetMethodNormalizerTest.php
index fe56c38ae43f176c4be65f0c127f126765da2bf7..894801747540ce82b03de5c02bbc4800583780da 100644
--- a/vendor/symfony/serializer/Tests/Normalizer/GetSetMethodNormalizerTest.php
+++ b/vendor/symfony/serializer/Tests/Normalizer/GetSetMethodNormalizerTest.php
@@ -91,6 +91,23 @@ public function testDenormalize()
         $this->assertTrue($obj->isBaz());
     }
 
+    public function testIgnoredAttributesInContext()
+    {
+        $ignoredAttributes = ['foo', 'bar', 'baz', 'object'];
+        $this->normalizer->setIgnoredAttributes($ignoredAttributes);
+        $obj = new GetSetDummy();
+        $obj->setFoo('foo');
+        $obj->setBar('bar');
+        $obj->setCamelCase(true);
+        $this->assertEquals(
+            [
+                'fooBar' => 'foobar',
+                'camelCase' => true,
+            ],
+            $this->normalizer->normalize($obj, 'any')
+        );
+    }
+
     public function testDenormalizeWithObject()
     {
         $data = new \stdClass();
diff --git a/vendor/symfony/serializer/Tests/Normalizer/ObjectNormalizerTest.php b/vendor/symfony/serializer/Tests/Normalizer/ObjectNormalizerTest.php
index 4068479c87001e48bfc310677112280485f00b7a..b30739714b663f16c9229ea19f193dc4c4bce487 100644
--- a/vendor/symfony/serializer/Tests/Normalizer/ObjectNormalizerTest.php
+++ b/vendor/symfony/serializer/Tests/Normalizer/ObjectNormalizerTest.php
@@ -315,6 +315,30 @@ public function testGroupsDenormalizeWithNameConverter()
         );
     }
 
+    public function testObjectToPopulateNoMatch()
+    {
+        $classMetadataFactory = new ClassMetadataFactory(new AnnotationLoader(new AnnotationReader()));
+        $this->normalizer = new ObjectNormalizer($classMetadataFactory, null, null, new PhpDocExtractor());
+        new Serializer([$this->normalizer]);
+
+        $objectToPopulate = new ObjectInner();
+        $objectToPopulate->foo = 'foo';
+
+        $outer = $this->normalizer->denormalize([
+            'foo' => 'foo',
+            'inner' => [
+                'bar' => 'bar',
+            ],
+        ], ObjectOuter::class, null, [ObjectNormalizer::OBJECT_TO_POPULATE => $objectToPopulate]);
+
+        $this->assertInstanceOf(ObjectOuter::class, $outer);
+        $inner = $outer->getInner();
+        $this->assertInstanceOf(ObjectInner::class, $inner);
+        $this->assertNotSame($objectToPopulate, $inner);
+        $this->assertSame('bar', $inner->bar);
+        $this->assertNull($inner->foo);
+    }
+
     /**
      * @dataProvider provideCallbacks
      */
@@ -356,6 +380,16 @@ public function testIgnoredAttributes()
             ['fooBar' => 'foobar'],
             $this->normalizer->normalize($obj, 'any')
         );
+
+        $this->normalizer->setIgnoredAttributes(['foo', 'baz', 'camelCase', 'object']);
+
+        $this->assertEquals(
+            [
+                'fooBar' => 'foobar',
+                'bar' => 'bar',
+            ],
+            $this->normalizer->normalize($obj, 'any')
+        );
     }
 
     public function testIgnoredAttributesDenormalize()
@@ -936,6 +970,9 @@ class ObjectOuter
 {
     public $foo;
     public $bar;
+    /**
+     * @var ObjectInner
+     */
     private $inner;
     private $date;
 
diff --git a/vendor/symfony/translation/DataCollectorTranslator.php b/vendor/symfony/translation/DataCollectorTranslator.php
index 6f826dfaa6ff43dcc4a429a4a3b182efee01b54e..7eaf928e7ff930d5a4a0e5d59504e595d57708bd 100644
--- a/vendor/symfony/translation/DataCollectorTranslator.php
+++ b/vendor/symfony/translation/DataCollectorTranslator.php
@@ -11,12 +11,13 @@
 
 namespace Symfony\Component\Translation;
 
+use Symfony\Component\HttpKernel\CacheWarmer\WarmableInterface;
 use Symfony\Component\Translation\Exception\InvalidArgumentException;
 
 /**
  * @author Abdellatif Ait boudad <a.aitboudad@gmail.com>
  */
-class DataCollectorTranslator implements TranslatorInterface, TranslatorBagInterface
+class DataCollectorTranslator implements TranslatorInterface, TranslatorBagInterface, WarmableInterface
 {
     const MESSAGE_DEFINED = 0;
     const MESSAGE_MISSING = 1;
@@ -87,6 +88,16 @@ public function getCatalogue($locale = null)
         return $this->translator->getCatalogue($locale);
     }
 
+    /**
+     * {@inheritdoc}
+     */
+    public function warmUp($cacheDir)
+    {
+        if ($this->translator instanceof WarmableInterface) {
+            $this->translator->warmUp($cacheDir);
+        }
+    }
+
     /**
      * Gets the fallback locales.
      *
diff --git a/vendor/symfony/translation/Dumper/PoFileDumper.php b/vendor/symfony/translation/Dumper/PoFileDumper.php
index e9673b6d29908d52a6140c42b291875bb52d442f..0f7e6fa834bc2493966f29043bfb24eab903e7b5 100644
--- a/vendor/symfony/translation/Dumper/PoFileDumper.php
+++ b/vendor/symfony/translation/Dumper/PoFileDumper.php
@@ -40,7 +40,7 @@ public function formatCatalogue(MessageCatalogue $messages, $domain, array $opti
                 $newLine = true;
             }
             $output .= sprintf('msgid "%s"'."\n", $this->escape($source));
-            $output .= sprintf('msgstr "%s"', $this->escape($target));
+            $output .= sprintf('msgstr "%s"'."\n", $this->escape($target));
         }
 
         return $output;
diff --git a/vendor/symfony/translation/Resources/bin/translation-status.php b/vendor/symfony/translation/Resources/bin/translation-status.php
index acc8b4e227222d10c545eb7569fd02432bedc15f..0d37c3e0aa38b6a28d777a6b1ae1d5422f689357 100644
--- a/vendor/symfony/translation/Resources/bin/translation-status.php
+++ b/vendor/symfony/translation/Resources/bin/translation-status.php
@@ -159,6 +159,11 @@ function printTitle($title)
 
 function printTable($translations, $verboseOutput)
 {
+    if (0 === count($translations)) {
+        echo 'No translations found';
+
+        return;
+    }
     $longestLocaleNameLength = max(array_map('strlen', array_keys($translations)));
 
     foreach ($translations as $locale => $translation) {
diff --git a/vendor/symfony/translation/Tests/Dumper/PoFileDumperTest.php b/vendor/symfony/translation/Tests/Dumper/PoFileDumperTest.php
index d694a6dd3fb115cfedb70a5592984bd151dd889d..960ec2df6500cb9add06ac71ee4582d32e3a4307 100644
--- a/vendor/symfony/translation/Tests/Dumper/PoFileDumperTest.php
+++ b/vendor/symfony/translation/Tests/Dumper/PoFileDumperTest.php
@@ -20,7 +20,7 @@ class PoFileDumperTest extends TestCase
     public function testFormatCatalogue()
     {
         $catalogue = new MessageCatalogue('en');
-        $catalogue->add(['foo' => 'bar']);
+        $catalogue->add(['foo' => 'bar', 'bar' => 'foo']);
 
         $dumper = new PoFileDumper();
 
diff --git a/vendor/symfony/translation/Tests/Dumper/YamlFileDumperTest.php b/vendor/symfony/translation/Tests/Dumper/YamlFileDumperTest.php
index 24bc65ba248fbfa9dd894930a6d63819c2c50fef..e46da5a7e8089d80a6adbc50a1973ba1f7f496d6 100644
--- a/vendor/symfony/translation/Tests/Dumper/YamlFileDumperTest.php
+++ b/vendor/symfony/translation/Tests/Dumper/YamlFileDumperTest.php
@@ -20,11 +20,10 @@ class YamlFileDumperTest extends TestCase
     public function testTreeFormatCatalogue()
     {
         $catalogue = new MessageCatalogue('en');
-        $catalogue->add(
-            [
-                'foo.bar1' => 'value1',
-                'foo.bar2' => 'value2',
-            ]);
+        $catalogue->add([
+            'foo.bar1' => 'value1',
+            'foo.bar2' => 'value2',
+        ]);
 
         $dumper = new YamlFileDumper();
 
@@ -34,11 +33,10 @@ public function testTreeFormatCatalogue()
     public function testLinearFormatCatalogue()
     {
         $catalogue = new MessageCatalogue('en');
-        $catalogue->add(
-            [
-                'foo.bar1' => 'value1',
-                'foo.bar2' => 'value2',
-            ]);
+        $catalogue->add([
+            'foo.bar1' => 'value1',
+            'foo.bar2' => 'value2',
+        ]);
 
         $dumper = new YamlFileDumper();
 
diff --git a/vendor/symfony/translation/Tests/Loader/PoFileLoaderTest.php b/vendor/symfony/translation/Tests/Loader/PoFileLoaderTest.php
index 4bf2ee6545b6fe8fb7ddfa046403521ccfcb0cab..d8e2c1993ba1ce3f500f0aede5a71f555a56749a 100644
--- a/vendor/symfony/translation/Tests/Loader/PoFileLoaderTest.php
+++ b/vendor/symfony/translation/Tests/Loader/PoFileLoaderTest.php
@@ -23,7 +23,7 @@ public function testLoad()
         $resource = __DIR__.'/../fixtures/resources.po';
         $catalogue = $loader->load($resource, 'en', 'domain1');
 
-        $this->assertEquals(['foo' => 'bar'], $catalogue->all('domain1'));
+        $this->assertEquals(['foo' => 'bar', 'bar' => 'foo'], $catalogue->all('domain1'));
         $this->assertEquals('en', $catalogue->getLocale());
         $this->assertEquals([new FileResource($resource)], $catalogue->getResources());
     }
diff --git a/vendor/symfony/translation/Tests/TranslatorCacheTest.php b/vendor/symfony/translation/Tests/TranslatorCacheTest.php
index decda70cc4cd046d62b8b4983a649aef2ef2e608..6c94e14c54bac44c08fa6e9592e8ea96c76cb1d6 100644
--- a/vendor/symfony/translation/Tests/TranslatorCacheTest.php
+++ b/vendor/symfony/translation/Tests/TranslatorCacheTest.php
@@ -198,7 +198,7 @@ public function testPrimaryAndFallbackCataloguesContainTheSameMessagesRegardless
          * messages provided by the loader. This must also be the case when these catalogues
          * are (internally) read from a cache.
          *
-         * Optimizations inside the translator must not change this behaviour.
+         * Optimizations inside the translator must not change this behavior.
          */
 
         /*
diff --git a/vendor/symfony/translation/Tests/fixtures/resources.po b/vendor/symfony/translation/Tests/fixtures/resources.po
index ccfce6bb98d466a78252d2d0b420213d213c495c..a20e619828ce68313c3b1756ed3cc2bfeaa3db71 100644
--- a/vendor/symfony/translation/Tests/fixtures/resources.po
+++ b/vendor/symfony/translation/Tests/fixtures/resources.po
@@ -5,4 +5,7 @@ msgstr ""
 "Language: en\n"
 
 msgid "foo"
-msgstr "bar"
\ No newline at end of file
+msgstr "bar"
+
+msgid "bar"
+msgstr "foo"
diff --git a/vendor/symfony/translation/composer.json b/vendor/symfony/translation/composer.json
index 45ff664ca4391d106c8f61ebcae0349f1eb82db2..93c1236f27323f2a64908100367022663fe3c55a 100644
--- a/vendor/symfony/translation/composer.json
+++ b/vendor/symfony/translation/composer.json
@@ -22,7 +22,9 @@
     "require-dev": {
         "symfony/config": "~2.8|~3.0|~4.0",
         "symfony/dependency-injection": "~3.4|~4.0",
+        "symfony/http-kernel": "~3.4|~4.0",
         "symfony/intl": "^2.8.18|^3.2.5|~4.0",
+        "symfony/var-dumper": "~3.4|~4.0",
         "symfony/yaml": "~3.4|~4.0",
         "symfony/finder": "~2.8|~3.0|~4.0",
         "psr/log": "~1.0"
diff --git a/vendor/symfony/validator/Constraint.php b/vendor/symfony/validator/Constraint.php
index b1a5e0c1a2b7eda68ab14a7a6de41939d78ff77f..349698eb1af59c78ef10b9b082969da529776d3a 100644
--- a/vendor/symfony/validator/Constraint.php
+++ b/vendor/symfony/validator/Constraint.php
@@ -105,6 +105,7 @@ public static function getErrorName($errorCode)
      */
     public function __construct($options = null)
     {
+        $defaultOption = $this->getDefaultOption();
         $invalidOptions = [];
         $missingOptions = array_flip((array) $this->getRequiredOptions());
         $knownOptions = get_object_vars($this);
@@ -112,8 +113,12 @@ public function __construct($options = null)
         // The "groups" option is added to the object lazily
         $knownOptions['groups'] = true;
 
-        if (\is_array($options) && \count($options) >= 1 && isset($options['value']) && !property_exists($this, 'value')) {
-            $options[$this->getDefaultOption()] = $options['value'];
+        if (\is_array($options) && isset($options['value']) && !property_exists($this, 'value')) {
+            if (null === $defaultOption) {
+                throw new ConstraintDefinitionException(sprintf('No default option is configured for constraint "%s".', \get_class($this)));
+            }
+
+            $options[$defaultOption] = $options['value'];
             unset($options['value']);
         }
 
@@ -130,26 +135,24 @@ public function __construct($options = null)
                 }
             }
         } elseif (null !== $options && !(\is_array($options) && 0 === \count($options))) {
-            $option = $this->getDefaultOption();
-
-            if (null === $option) {
-                throw new ConstraintDefinitionException(sprintf('No default option is configured for constraint %s', \get_class($this)));
+            if (null === $defaultOption) {
+                throw new ConstraintDefinitionException(sprintf('No default option is configured for constraint "%s".', \get_class($this)));
             }
 
-            if (\array_key_exists($option, $knownOptions)) {
-                $this->$option = $options;
-                unset($missingOptions[$option]);
+            if (\array_key_exists($defaultOption, $knownOptions)) {
+                $this->$defaultOption = $options;
+                unset($missingOptions[$defaultOption]);
             } else {
-                $invalidOptions[] = $option;
+                $invalidOptions[] = $defaultOption;
             }
         }
 
         if (\count($invalidOptions) > 0) {
-            throw new InvalidOptionsException(sprintf('The options "%s" do not exist in constraint %s', implode('", "', $invalidOptions), \get_class($this)), $invalidOptions);
+            throw new InvalidOptionsException(sprintf('The options "%s" do not exist in constraint "%s".', implode('", "', $invalidOptions), \get_class($this)), $invalidOptions);
         }
 
         if (\count($missingOptions) > 0) {
-            throw new MissingOptionsException(sprintf('The options "%s" must be set for constraint %s', implode('", "', array_keys($missingOptions)), \get_class($this)), array_keys($missingOptions));
+            throw new MissingOptionsException(sprintf('The options "%s" must be set for constraint "%s".', implode('", "', array_keys($missingOptions)), \get_class($this)), array_keys($missingOptions));
         }
     }
 
@@ -173,7 +176,7 @@ public function __set($option, $value)
             return;
         }
 
-        throw new InvalidOptionsException(sprintf('The option "%s" does not exist in constraint %s', $option, \get_class($this)), [$option]);
+        throw new InvalidOptionsException(sprintf('The option "%s" does not exist in constraint "%s".', $option, \get_class($this)), [$option]);
     }
 
     /**
@@ -199,7 +202,7 @@ public function __get($option)
             return $this->groups;
         }
 
-        throw new InvalidOptionsException(sprintf('The option "%s" does not exist in constraint %s', $option, \get_class($this)), [$option]);
+        throw new InvalidOptionsException(sprintf('The option "%s" does not exist in constraint "%s".', $option, \get_class($this)), [$option]);
     }
 
     /**
@@ -229,12 +232,13 @@ public function addImplicitGroupName($group)
      *
      * Override this method to define a default option.
      *
-     * @return string
+     * @return string|null
      *
      * @see __construct()
      */
     public function getDefaultOption()
     {
+        return null;
     }
 
     /**
@@ -256,7 +260,7 @@ public function getRequiredOptions()
      *
      * By default, this is the fully qualified name of the constraint class
      * suffixed with "Validator". You can override this method to change that
-     * behaviour.
+     * behavior.
      *
      * @return string
      */
diff --git a/vendor/symfony/validator/Constraints/Collection.php b/vendor/symfony/validator/Constraints/Collection.php
index 21427722d949110c695ad1fefdeeb8720db6d02a..86418690b8d2bbf080fce7094922dcb10c6b8d0d 100644
--- a/vendor/symfony/validator/Constraints/Collection.php
+++ b/vendor/symfony/validator/Constraints/Collection.php
@@ -68,7 +68,7 @@ protected function initializeNestedConstraints()
             }
 
             if (!$field instanceof Optional && !$field instanceof Required) {
-                $this->fields[$fieldName] = $field = new Required($field);
+                $this->fields[$fieldName] = new Required($field);
             }
         }
     }
diff --git a/vendor/symfony/validator/Constraints/Count.php b/vendor/symfony/validator/Constraints/Count.php
index 8de10edfc88007844591927ed2f70248967a8ce3..b11f994f58b65306fb428d1469841b5a834627b9 100644
--- a/vendor/symfony/validator/Constraints/Count.php
+++ b/vendor/symfony/validator/Constraints/Count.php
@@ -43,6 +43,9 @@ public function __construct($options = null)
                 'min' => $options,
                 'max' => $options,
             ];
+        } elseif (\is_array($options) && isset($options['value']) && !isset($options['min']) && !isset($options['max'])) {
+            $options['min'] = $options['max'] = $options['value'];
+            unset($options['value']);
         }
 
         parent::__construct($options);
diff --git a/vendor/symfony/validator/Constraints/Length.php b/vendor/symfony/validator/Constraints/Length.php
index 79aa473204eaf01bf35f3c162a61d5168b8e667e..996a1e479f4521282d12c9311cd013c2c3343b93 100644
--- a/vendor/symfony/validator/Constraints/Length.php
+++ b/vendor/symfony/validator/Constraints/Length.php
@@ -47,6 +47,9 @@ public function __construct($options = null)
                 'min' => $options,
                 'max' => $options,
             ];
+        } elseif (\is_array($options) && isset($options['value']) && !isset($options['min']) && !isset($options['max'])) {
+            $options['min'] = $options['max'] = $options['value'];
+            unset($options['value']);
         }
 
         parent::__construct($options);
diff --git a/vendor/symfony/validator/Mapping/Cache/Psr6Cache.php b/vendor/symfony/validator/Mapping/Cache/Psr6Cache.php
index 73c9513c168afd3c6e437bdba6def39a3beee5f1..a99d3ae700017437a4db58818360af3dddd8ff1a 100644
--- a/vendor/symfony/validator/Mapping/Cache/Psr6Cache.php
+++ b/vendor/symfony/validator/Mapping/Cache/Psr6Cache.php
@@ -70,6 +70,11 @@ public function write(ClassMetadata $metadata)
      */
     private function escapeClassName($class)
     {
+        if (false !== strpos($class, '@')) {
+            // anonymous class: replace all PSR6-reserved characters
+            return str_replace(["\0", '\\', '/', '@', ':', '{', '}', '(', ')'], '.', $class);
+        }
+
         return str_replace('\\', '.', $class);
     }
 }
diff --git a/vendor/symfony/validator/Resources/translations/validators.ar.xlf b/vendor/symfony/validator/Resources/translations/validators.ar.xlf
index eacd8d777ddec14ee08ed04e44402a9fb22c736e..12f26fdc886881d1885039f6128e62aaac892707 100644
--- a/vendor/symfony/validator/Resources/translations/validators.ar.xlf
+++ b/vendor/symfony/validator/Resources/translations/validators.ar.xlf
@@ -330,6 +330,10 @@
                 <source>This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}.</source>
                 <target>رمز المعرّف نشاط تجاري (BIC) هذا لا يرتبط مع IBAN {{ iban }}.</target>
             </trans-unit>
+            <trans-unit id="86">
+                <source>This value should be valid JSON.</source>
+                <target>هذه القيمة يجب أن تكون صالحة ل JSON.</target>
+            </trans-unit>
         </body>
     </file>
 </xliff>
diff --git a/vendor/symfony/validator/Resources/translations/validators.bg.xlf b/vendor/symfony/validator/Resources/translations/validators.bg.xlf
index bd09da5d0ef0a4bb7f2e786ceda405f00f19f751..1db88086cf528e9658fa67faad53f2e717b66089 100644
--- a/vendor/symfony/validator/Resources/translations/validators.bg.xlf
+++ b/vendor/symfony/validator/Resources/translations/validators.bg.xlf
@@ -36,23 +36,23 @@
             </trans-unit>
             <trans-unit id="9">
                 <source>This field was not expected.</source>
-                <target>Това поле не се е очаквало.</target>
+                <target>Полето не се е очаквало.</target>
             </trans-unit>
             <trans-unit id="10">
                 <source>This field is missing.</source>
-                <target>Това поле липсва.</target>
+                <target>Полето липсва.</target>
             </trans-unit>
             <trans-unit id="11">
                 <source>This value is not a valid date.</source>
-                <target>Стойността не е валидна дата (date).</target>
+                <target>Стойността не е валидна дата.</target>
             </trans-unit>
             <trans-unit id="12">
                 <source>This value is not a valid datetime.</source>
-                <target>Стойността не е валидна дата (datetime).</target>
+                <target>Стойността не е валидна дата и час.</target>
             </trans-unit>
             <trans-unit id="13">
                 <source>This value is not a valid email address.</source>
-                <target>Стойността не е валиден email адрес.</target>
+                <target>Стойността не е валиден имейл адрес.</target>
             </trans-unit>
             <trans-unit id="14">
                 <source>The file could not be found.</source>
@@ -68,7 +68,7 @@
             </trans-unit>
             <trans-unit id="17">
                 <source>The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.</source>
-                <target>Майм типа на файла е невалиден ({{ type }}). Разрешени майм типове са {{ types }}.</target>
+                <target>Mime типа на файла е невалиден ({{ type }}). Разрешени mime типове са {{ types }}.</target>
             </trans-unit>
             <trans-unit id="18">
                 <source>This value should be {{ limit }} or less.</source>
@@ -104,7 +104,7 @@
             </trans-unit>
             <trans-unit id="26">
                 <source>This value is not a valid time.</source>
-                <target>Стойността не е валидно време (time).</target>
+                <target>Стойността не е валидно време.</target>
             </trans-unit>
             <trans-unit id="27">
                 <source>This value is not a valid URL.</source>
@@ -216,35 +216,35 @@
             </trans-unit>
             <trans-unit id="57">
                 <source>Invalid card number.</source>
-                <target>Невалиден номер на картата.</target>
+                <target>Невалиден номер на карта.</target>
             </trans-unit>
             <trans-unit id="58">
                 <source>Unsupported card type or invalid card number.</source>
-                <target>Неподдържан тип карта или невалиден номер на картата.</target>
+                <target>Неподдържан тип карта или невалиден номер на карта.</target>
             </trans-unit>
             <trans-unit id="59">
                 <source>This is not a valid International Bank Account Number (IBAN).</source>
-                <target>Невалиден Международен номер на банкова сметка (IBAN).</target>
+                <target>Това не е валиден Международен номер на банкова сметка (IBAN).</target>
             </trans-unit>
             <trans-unit id="60">
                 <source>This value is not a valid ISBN-10.</source>
-                <target>Невалиден ISBN-10.</target>
+                <target>Стойността не е валиден ISBN-10.</target>
             </trans-unit>
             <trans-unit id="61">
                 <source>This value is not a valid ISBN-13.</source>
-                <target>Невалиден ISBN-13.</target>
+                <target>Стойността не е валиден ISBN-13.</target>
             </trans-unit>
             <trans-unit id="62">
                 <source>This value is neither a valid ISBN-10 nor a valid ISBN-13.</source>
-                <target>Невалидна стойност както за ISBN-10, така и за ISBN-13 .</target>
+                <target>Стойността не е нито валиден ISBN-10, нито валиден ISBN-13.</target>
             </trans-unit>
             <trans-unit id="63">
                 <source>This value is not a valid ISSN.</source>
-                <target>Невалиден Международен стандартен сериен номер (ISSN).</target>
+                <target>Стойността не е валиден ISSN.</target>
             </trans-unit>
             <trans-unit id="64">
                 <source>This value is not a valid currency.</source>
-                <target>Невалидна валута.</target>
+                <target>Стойността не е валидна валута.</target>
             </trans-unit>
             <trans-unit id="65">
                 <source>This value should be equal to {{ compared_value }}.</source>
@@ -308,11 +308,11 @@
             </trans-unit>
             <trans-unit id="80">
                 <source>This value does not match the expected {{ charset }} charset.</source>
-                <target>Стойността не съвпада с {{ charset }}.</target>
+                <target>Стойността не съвпада с очакваната {{ charset }} кодировка.</target>
             </trans-unit>
             <trans-unit id="81">
                 <source>This is not a valid Business Identifier Code (BIC).</source>
-                <target>Невалиден бизнес идентификационен код (BIC).</target>
+                <target>Това не е валиден Бизнес идентификационен код (BIC).</target>
             </trans-unit>
             <trans-unit id="82">
                 <source>Error</source>
@@ -324,15 +324,15 @@
             </trans-unit>
             <trans-unit id="84">
                 <source>This value should be a multiple of {{ compared_value }}.</source>
-                <target>Тази стойност трябва да бъде кратно число на {{ compared_value }}.</target>
+                <target>Стойността трябва да бъде кратно число на {{ compared_value }}.</target>
             </trans-unit>
             <trans-unit id="85">
                 <source>This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}.</source>
-                <target>Този бизнес идентификационен код (BIC) не е свързана с IBAN {{ iban }}.</target>
+                <target>Бизнес идентификационния код (BIC) не е свързан с IBAN {{ iban }}.</target>
             </trans-unit>
             <trans-unit id="86">
                 <source>This value should be valid JSON.</source>
-                <target>Тази стойност трябва да е валидна JSON.</target>
+                <target>Стойността трябва да е валиден JSON.</target>
             </trans-unit>
         </body>
     </file>
diff --git a/vendor/symfony/validator/Resources/translations/validators.cs.xlf b/vendor/symfony/validator/Resources/translations/validators.cs.xlf
index 4b966698f7769d7cbf21f94cac71be99df648c1b..e637d09aa9faa46def6d9c6ae85b8c2c6f579026 100644
--- a/vendor/symfony/validator/Resources/translations/validators.cs.xlf
+++ b/vendor/symfony/validator/Resources/translations/validators.cs.xlf
@@ -318,6 +318,22 @@
                 <source>Error</source>
                 <target>Chyba</target>
             </trans-unit>
+            <trans-unit id="83">
+                <source>This is not a valid UUID.</source>
+                <target>Tato hodnota není platné UUID.</target>
+            </trans-unit>
+            <trans-unit id="84">
+                <source>This value should be a multiple of {{ compared_value }}.</source>
+                <target>Tato hodnota musí být násobek hodnoty {{ compared_value }}.</target>
+            </trans-unit>
+            <trans-unit id="85">
+                <source>This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}.</source>
+                <target>Bankovní identifikační kód (BIC) neodpovídá mezinárodnímu číslu účtu (IBAN) {{ iban }}.</target>
+            </trans-unit>
+            <trans-unit id="86">
+                <source>This value should be valid JSON.</source>
+                <target>Tato hodnota musí být validní JSON.</target>
+            </trans-unit>
         </body>
     </file>
 </xliff>
diff --git a/vendor/symfony/validator/Resources/translations/validators.de.xlf b/vendor/symfony/validator/Resources/translations/validators.de.xlf
index aab53e727b9e45ed903910b28668aef80ab9891f..f33e4d602ca1538051cc03655657b0515a5600ec 100644
--- a/vendor/symfony/validator/Resources/translations/validators.de.xlf
+++ b/vendor/symfony/validator/Resources/translations/validators.de.xlf
@@ -330,6 +330,38 @@
                 <source>This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}.</source>
                 <target>Diese internationale Bankleitzahl (BIC) ist nicht mit der IBAN {{ iban }} assoziiert.</target>
             </trans-unit>
+            <trans-unit id="86">
+                <source>This value should be valid JSON.</source>
+                <target>Dieser Wert sollte gültiges JSON sein.</target>
+            </trans-unit>
+            <trans-unit id="87">
+                <source>This collection should contain only unique elements.</source>
+                <target>Diese Sammlung darf keine doppelten Elemente enthalten.</target>
+            </trans-unit>
+            <trans-unit id="88">
+                <source>This value should be positive.</source>
+                <target>Diese Zahl sollte positiv sein.</target>
+            </trans-unit>
+            <trans-unit id="89">
+                <source>This value should be either positive or zero.</source>
+                <target>Diese Zahl sollte entweder positiv oder 0 sein.</target>
+            </trans-unit>
+            <trans-unit id="90">
+                <source>This value should be negative.</source>
+                <target>Diese Zahl sollte negativ sein.</target>
+            </trans-unit>
+            <trans-unit id="91">
+                <source>This value should be either negative or zero.</source>
+                <target>Diese Zahl sollte entweder negativ oder 0 sein.</target>
+            </trans-unit>
+            <trans-unit id="92">
+                <source>This value is not a valid timezone.</source>
+                <target>Dieser Wert ist keine gültige Zeitzone.</target>
+            </trans-unit>
+            <trans-unit id="93">
+                <source>This password has been leaked in a data breach, it must not be used. Please use another password.</source>
+                <target>Dieses Passwort ist Teil eines Datenlecks, es darf nicht verwendet werden.</target>
+            </trans-unit>
         </body>
     </file>
 </xliff>
diff --git a/vendor/symfony/validator/Resources/translations/validators.en.xlf b/vendor/symfony/validator/Resources/translations/validators.en.xlf
index 465ad220d87906fa9b233865dbd7b2bc930cc302..d5d9d20997fc0c89ba4d77d748ea303d35a35b4c 100644
--- a/vendor/symfony/validator/Resources/translations/validators.en.xlf
+++ b/vendor/symfony/validator/Resources/translations/validators.en.xlf
@@ -334,6 +334,34 @@
                 <source>This value should be valid JSON.</source>
                 <target>This value should be valid JSON.</target>
             </trans-unit>
+            <trans-unit id="87">
+                <source>This collection should contain only unique elements.</source>
+                <target>This collection should contain only unique elements.</target>
+            </trans-unit>
+            <trans-unit id="88">
+                <source>This value should be positive.</source>
+                <target>This value should be positive.</target>
+            </trans-unit>
+            <trans-unit id="89">
+                <source>This value should be either positive or zero.</source>
+                <target>This value should be either positive or zero.</target>
+            </trans-unit>
+            <trans-unit id="90">
+                <source>This value should be negative.</source>
+                <target>This value should be negative.</target>
+            </trans-unit>
+            <trans-unit id="91">
+                <source>This value should be either negative or zero.</source>
+                <target>This value should be either negative or zero.</target>
+            </trans-unit>
+            <trans-unit id="92">
+                <source>This value is not a valid timezone.</source>
+                <target>This value is not a valid timezone.</target>
+            </trans-unit>
+            <trans-unit id="93">
+                <source>This password has been leaked in a data breach, it must not be used. Please use another password.</source>
+                <target>This password has been leaked in a data breach, it must not be used. Please use another password.</target>
+            </trans-unit>
         </body>
     </file>
 </xliff>
diff --git a/vendor/symfony/validator/Resources/translations/validators.fr.xlf b/vendor/symfony/validator/Resources/translations/validators.fr.xlf
index 7b1799d53315ce94d73ec6a04e992f11ea75e4c0..9b021cd68214f0a3d91b00cd03de9dd9f8686f29 100644
--- a/vendor/symfony/validator/Resources/translations/validators.fr.xlf
+++ b/vendor/symfony/validator/Resources/translations/validators.fr.xlf
@@ -334,6 +334,34 @@
                 <source>This value should be valid JSON.</source>
                 <target>Cette valeur doit être un JSON valide.</target>
             </trans-unit>
+            <trans-unit id="87">
+                <source>This collection should contain only unique elements.</source>
+                <target>Cette collection ne doit pas comporter de doublons.</target>
+            </trans-unit>
+            <trans-unit id="88">
+                <source>This value should be positive.</source>
+                <target>Cette valeur doit être strictement positive.</target>
+            </trans-unit>
+            <trans-unit id="89">
+                <source>This value should be either positive or zero.</source>
+                <target>Cette valeur doit être supérieure ou égale à zéro.</target>
+            </trans-unit>
+            <trans-unit id="90">
+                <source>This value should be negative.</source>
+                <target>Cette valeur doit être strictement négative.</target>
+            </trans-unit>
+            <trans-unit id="91">
+                <source>This value should be either negative or zero.</source>
+                <target>Cette valeur doit être inférieure ou égale à zéro.</target>
+            </trans-unit>
+            <trans-unit id="92">
+                <source>This value is not a valid timezone.</source>
+                <target>Cette valeur n'est pas un fuseau horaire valide.</target>
+            </trans-unit>
+            <trans-unit id="93">
+                <source>This password has been leaked in a data breach, it must not be used. Please use another password.</source>
+                <target>Ce mot de passe a été divulgué lors d'une fuite de données, il ne doit plus être utilisé. Veuillez utiliser un autre mot de passe.</target>
+            </trans-unit>
         </body>
     </file>
 </xliff>
diff --git a/vendor/symfony/validator/Resources/translations/validators.hu.xlf b/vendor/symfony/validator/Resources/translations/validators.hu.xlf
index 30c3cc399d3ef761df8bff40dfd7ca2bf94dfcd3..300eb5f68fb972dfced1977652f6251c2dda02ce 100644
--- a/vendor/symfony/validator/Resources/translations/validators.hu.xlf
+++ b/vendor/symfony/validator/Resources/translations/validators.hu.xlf
@@ -330,6 +330,34 @@
                 <source>This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}.</source>
                 <target>Ez a Bankazonosító kód (BIC) nem kapcsolódik az IBAN kódhoz ({{ iban }}).</target>
             </trans-unit>
+            <trans-unit id="86">
+                <source>This value should be valid JSON.</source>
+                <target>Ez az érték érvényes JSON kell, hogy legyen.</target>
+            </trans-unit>
+            <trans-unit id="87">
+                <source>This value should be positive.</source>
+                <target>Ennek az értéknek pozitívnak kell lennie.</target>
+            </trans-unit>
+            <trans-unit id="88">
+                <source>This value should be either positive or zero.</source>
+                <target>Ennek az értéknek pozitívnak vagy nullának kell lennie.</target>
+            </trans-unit>
+            <trans-unit id="89">
+                <source>This value should be negative.</source>
+                <target>Ennek az értéknek negatívnak kell lennie.</target>
+            </trans-unit>
+            <trans-unit id="90">
+                <source>This value should be either negative or zero.</source>
+                <target>Ennek az értéknek negatívnak vagy nullának kell lennie.</target>
+            </trans-unit>
+            <trans-unit id="91">
+                <source>This collection should contain only unique elements.</source>
+                <target>Ez a gyűjtemény csak egyedi elemeket tartalmazhat.</target>
+            </trans-unit>
+            <trans-unit id="92">
+                <source>This value is not a valid timezone.</source>
+                <target>Ez az érték nem egy érvényes időzóna.</target>
+            </trans-unit>
         </body>
     </file>
 </xliff>
diff --git a/vendor/symfony/validator/Resources/translations/validators.lt.xlf b/vendor/symfony/validator/Resources/translations/validators.lt.xlf
index 02eece5965d14be05f436d3474d75295f3c55cac..79171bc0dfa6e5979b86d8740c6600face35bc87 100644
--- a/vendor/symfony/validator/Resources/translations/validators.lt.xlf
+++ b/vendor/symfony/validator/Resources/translations/validators.lt.xlf
@@ -334,6 +334,34 @@
                 <source>This value should be valid JSON.</source>
                 <target>Ši reikšmė turi būti tinkamo JSON formato.</target>
             </trans-unit>
+            <trans-unit id="87">
+                <source>This collection should contain only unique elements.</source>
+                <target>Sąraše turi būti tik unikalios reikšmės.</target>
+            </trans-unit>
+            <trans-unit id="88">
+                <source>This value should be positive.</source>
+                <target>Reikšmė turi būti teigiama.</target>
+            </trans-unit>
+            <trans-unit id="89">
+                <source>This value should be either positive or zero.</source>
+                <target>Reikšmė turi būti teigiama arba lygi nuliui.</target>
+            </trans-unit>
+            <trans-unit id="90">
+                <source>This value should be negative.</source>
+                <target>Reikšmė turi būti neigiama.</target>
+            </trans-unit>
+            <trans-unit id="91">
+                <source>This value should be either negative or zero.</source>
+                <target>Reikšmė turi būti neigiama arba lygi nuliui.</target>
+            </trans-unit>
+            <trans-unit id="92">
+                <source>This value is not a valid timezone.</source>
+                <target>Reikšmė nėra tinkama laiko juosta.</target>
+            </trans-unit>
+            <trans-unit id="93">
+                <source>This password has been leaked in a data breach, it must not be used. Please use another password.</source>
+                <target>Slaptažodis yra nutekėjęs duomenų saugumo pažeidime, jo naudoti negalima. Prašome naudoti kitą slaptažodį.</target>
+            </trans-unit>
         </body>
     </file>
 </xliff>
diff --git a/vendor/symfony/validator/Resources/translations/validators.sr_Latn.xlf b/vendor/symfony/validator/Resources/translations/validators.sr_Latn.xlf
index 9ac1ad6bce29423f1b7f24c17f92f84f70f11dcc..1c57f20162e650508f116161bfa31265b8255558 100644
--- a/vendor/symfony/validator/Resources/translations/validators.sr_Latn.xlf
+++ b/vendor/symfony/validator/Resources/translations/validators.sr_Latn.xlf
@@ -220,7 +220,7 @@
             </trans-unit>
             <trans-unit id="58">
                 <source>Unsupported card type or invalid card number.</source>
-                <target>Tip kartije nije podržan ili broj kartice nije validan.</target>
+                <target>Tip kartice nije podržan ili broj kartice nije validan.</target>
             </trans-unit>
             <trans-unit id="59">
                 <source>This is not a valid International Bank Account Number (IBAN).</source>
@@ -324,7 +324,7 @@
             </trans-unit>
             <trans-unit id="84">
                 <source>This value should be a multiple of {{ compared_value }}.</source>
-                <target>Ova vrednost bi trebalo da bude višestruko veća od {{ compared_value }}.</target>
+                <target>Ova vrednost bi trebalo da bude deljiva sa {{ compared_value }}.</target>
             </trans-unit>
             <trans-unit id="85">
                 <source>This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}.</source>
diff --git a/vendor/symfony/validator/Resources/translations/validators.sv.xlf b/vendor/symfony/validator/Resources/translations/validators.sv.xlf
index 40dd63e293ca3e30ca5956470bfb0327daeb434d..b3e8f0f42f12483c0de82af24e27fea7412f507c 100644
--- a/vendor/symfony/validator/Resources/translations/validators.sv.xlf
+++ b/vendor/symfony/validator/Resources/translations/validators.sv.xlf
@@ -318,6 +318,22 @@
                 <source>Error</source>
                 <target>Fel</target>
             </trans-unit>
+            <trans-unit id="83">
+                <source>This is not a valid UUID.</source>
+                <target>Detta är inte ett giltigt UUID.</target>
+            </trans-unit>
+            <trans-unit id="84">
+                <source>This value should be a multiple of {{ compared_value }}.</source>
+                <target>Detta värde ska vara en multipel av {{ compared_value }}.</target>
+            </trans-unit>
+            <trans-unit id="85">
+                <source>This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}.</source>
+                <target>Denna BIC-koden är inte associerad med IBAN {{ iban }}.</target>
+            </trans-unit>
+            <trans-unit id="86">
+                <source>This value should be valid JSON.</source>
+                <target>Detta värde ska vara giltig JSON.</target>
+            </trans-unit>
         </body>
     </file>
 </xliff>
diff --git a/vendor/symfony/validator/Resources/translations/validators.tl.xlf b/vendor/symfony/validator/Resources/translations/validators.tl.xlf
index 75dc329589730b58e98841eef3ca4dd69f281b14..1c408585b28f17373cc1842f17c20ed71d8ce7a1 100644
--- a/vendor/symfony/validator/Resources/translations/validators.tl.xlf
+++ b/vendor/symfony/validator/Resources/translations/validators.tl.xlf
@@ -314,6 +314,54 @@
                 <source>This is not a valid Business Identifier Code (BIC).</source>
                 <target>Ito ay hindi isang balidong Business Identifier Code (BIC).</target>
             </trans-unit>
+            <trans-unit id="82">
+                <source>Error</source>
+                <target>Error</target>
+            </trans-unit>
+            <trans-unit id="83">
+                <source>This is not a valid UUID.</source>
+                <target>Ito ay hindi wastong UUID.</target>
+            </trans-unit>
+            <trans-unit id="84">
+                <source>This value should be a multiple of {{ compared_value }}.</source>
+                <target>Ang halagang ito ay dapat multiple ng {{ compared_value }}.</target>
+            </trans-unit>
+            <trans-unit id="85">
+                <source>This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}.</source>
+                <target>Ang Business Identifier Code (BIC) na ito ay walang kaugnayan sa IBAN {{ iban }}.</target>
+            </trans-unit>
+            <trans-unit id="86">
+                <source>This value should be valid JSON.</source>
+                <target>Ang halagang ito ay dapat naka wastong JSON.</target>
+            </trans-unit>
+            <trans-unit id="87">
+                <source>This collection should contain only unique elements.</source>
+                <target>Ang mga elemento ng koleksyong ito ay dapat magkakaiba.</target>
+            </trans-unit>
+            <trans-unit id="88">
+                <source>This value should be positive.</source>
+                <target>Ang halagang ito ay dapat positibo.</target>
+            </trans-unit>
+            <trans-unit id="89">
+                <source>This value should be either positive or zero.</source>
+                <target>Ang halagang ito ay dapat positibo o zero.</target>
+            </trans-unit>
+            <trans-unit id="90">
+                <source>This value should be negative.</source>
+                <target>Ang halagang ito ay dapat negatibo.</target>
+            </trans-unit>
+            <trans-unit id="91">
+                <source>This value should be either negative or zero.</source>
+                <target>Ang halagang ito ay dapat negatibo o zero.</target>
+            </trans-unit>
+            <trans-unit id="92">
+                <source>This value is not a valid timezone.</source>
+                <target>Ang halagang ito ay hindi wastong timezone.</target>
+            </trans-unit>
+            <trans-unit id="93">
+                <source>This password has been leaked in a data breach, it must not be used. Please use another password.</source>
+                <target>Naikalat ang password na ito sa isang data breach at hindi na dapat gamitin. Mangyaring gumamit ng ibang pang password.</target>
+            </trans-unit>
         </body>
     </file>
  </xliff>
diff --git a/vendor/symfony/validator/Resources/translations/validators.vi.xlf b/vendor/symfony/validator/Resources/translations/validators.vi.xlf
index 750a4d91e2c6156c1812ad369dfa1bd382d79dc6..95dd7d666599753573b4aa72f1274c04cddc0c10 100644
--- a/vendor/symfony/validator/Resources/translations/validators.vi.xlf
+++ b/vendor/symfony/validator/Resources/translations/validators.vi.xlf
@@ -278,6 +278,90 @@
                 <source>This value should not be identical to {{ compared_value_type }} {{ compared_value }}.</source>
                 <target>Giá trị không được phép giống như {{ compared_value_type }} {{ compared_value }}.</target>
             </trans-unit>
+            <trans-unit id="73">
+                <source>The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}.</source>
+                <target>Tỷ lệ bức ảnh quá lớn ({{ ratio }}). Tỷ lệ tối đa cho phép là {{ max_ratio }}.</target>
+            </trans-unit>
+            <trans-unit id="74">
+                <source>The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}.</source>
+                <target>Tỷ lệ bức ảnh quá nhỏ ({{ ratio }}). Tỷ lệ tối thiểu mong muốn là {{ min_ratio }}.</target>
+            </trans-unit>
+            <trans-unit id="75">
+                <source>The image is square ({{ width }}x{{ height }}px). Square images are not allowed.</source>
+                <target>Bức ảnh là hình vuông ({{ width }}x{{ height }}px). Ảnh hình vuông không được phép.</target>
+            </trans-unit>
+            <trans-unit id="76">
+                <source>The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed.</source>
+                <target>Bức ảnh theo chiều ngang ({{ width }}x{{ height }}px). Ảnh chiều ngang không được phép.</target>
+            </trans-unit>
+            <trans-unit id="77">
+                <source>The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed.</source>
+                <target>Bức ảnh theo chiều dọc ({{ width }}x{{ height }}px). Ảnh chiều dọc không được phép.</target>
+            </trans-unit>
+            <trans-unit id="78">
+                <source>An empty file is not allowed.</source>
+                <target>Một file rỗng không được phép.</target>
+            </trans-unit>
+            <trans-unit id="79">
+                <source>The host could not be resolved.</source>
+                <target>Máy chủ không thể được tìm thấy.</target>
+            </trans-unit>
+            <trans-unit id="80">
+                <source>This value does not match the expected {{ charset }} charset.</source>
+                <target>Giá trị này không đúng định dạng bộ ký tự mong muốn {{ charset }}.</target>
+            </trans-unit>
+            <trans-unit id="81">
+                <source>This is not a valid Business Identifier Code (BIC).</source>
+                <target>Giá trị này không đúng định dạng mã định danh doanh nghiệp (BIC).</target>
+            </trans-unit>
+            <trans-unit id="82">
+                <source>Error</source>
+                <target>Lỗi</target>
+            </trans-unit>
+            <trans-unit id="83">
+                <source>This is not a valid UUID.</source>
+                <target>Giá trị này không đúng định dạng UUID.</target>
+            </trans-unit>
+            <trans-unit id="84">
+                <source>This value should be a multiple of {{ compared_value }}.</source>
+                <target>Giá trị này nên là bội số của {{ compared_value }}.</target>
+            </trans-unit>
+            <trans-unit id="85">
+                <source>This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}.</source>
+                <target>Mã định danh doanh nghiệp (BIC) này không liên kết với IBAN {{ iban }}.</target>
+            </trans-unit>
+            <trans-unit id="86">
+                <source>This value should be valid JSON.</source>
+                <target>Giá trị này nên đúng định dạng JSON.</target>
+            </trans-unit>
+            <trans-unit id="87">
+                <source>This collection should contain only unique elements.</source>
+                <target>Danh sách này chỉ nên chứa các phần tử khác nhau.</target>
+            </trans-unit>
+            <trans-unit id="88">
+                <source>This value should be positive.</source>
+                <target>Giá trị này có thể thực hiện được.</target>
+            </trans-unit>
+            <trans-unit id="89">
+                <source>This value should be either positive or zero.</source>
+                <target>Giá trị này có thể thực hiện được hoặc bằng không.</target>
+            </trans-unit>
+            <trans-unit id="90">
+                <source>This value should be negative.</source>
+                <target>Giá trị này nên bị từ chối.</target>
+            </trans-unit>
+            <trans-unit id="91">
+                <source>This value should be either negative or zero.</source>
+                <target>Giá trị này nên bị từ chối hoặc bằng không.</target>
+            </trans-unit>
+            <trans-unit id="92">
+                <source>This value is not a valid timezone.</source>
+                <target>Giá trị này không phải là múi giờ hợp lệ.</target>
+            </trans-unit>
+            <trans-unit id="93">
+                <source>This password has been leaked in a data breach, it must not be used. Please use another password.</source>
+                <target>Mật khẩu này đã bị rò rỉ dữ liệu, không được sử dụng nữa. Xin vui lòng sử dụng mật khẩu khác.</target>
+           </trans-unit>
         </body>
     </file>
 </xliff>
diff --git a/vendor/symfony/validator/Resources/translations/validators.zh_CN.xlf b/vendor/symfony/validator/Resources/translations/validators.zh_CN.xlf
index d4ed03ded191651ebad94b513cbc434f76f6bb49..3c2f25c0f7bbc0dc3c0b0eb74b1e72c11e26a7d4 100644
--- a/vendor/symfony/validator/Resources/translations/validators.zh_CN.xlf
+++ b/vendor/symfony/validator/Resources/translations/validators.zh_CN.xlf
@@ -310,10 +310,30 @@
                 <source>This value does not match the expected {{ charset }} charset.</source>
                 <target>该值不符合 {{ charset }} 编码。</target>
             </trans-unit>
+            <trans-unit id="81">
+                <source>This is not a valid Business Identifier Code (BIC).</source>
+                <target>这不是有效的业务标识符代码(BIC)。</target>
+            </trans-unit>
             <trans-unit id="82">
                 <source>Error</source>
                 <target>错误</target>
             </trans-unit>
+            <trans-unit id="83">
+                <source>This is not a valid UUID.</source>
+                <target>这不是有效的UUID。</target>
+            </trans-unit>
+            <trans-unit id="84">
+                <source>This value should be a multiple of {{ compared_value }}.</source>
+                <target>此值应为 {{ compared_value }} 的倍数。</target>
+            </trans-unit>
+            <trans-unit id="85">
+                <source>This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}.</source>
+                <target>此业务标识符代码(BIC)与IBAN {{ iban }} 无关。</target>
+            </trans-unit>
+            <trans-unit id="86">
+                <source>This value should be valid JSON.</source>
+                <target>该值应该是有效的JSON。</target>
+            </trans-unit>
         </body>
     </file>
 </xliff>
diff --git a/vendor/symfony/validator/Test/ConstraintValidatorTestCase.php b/vendor/symfony/validator/Test/ConstraintValidatorTestCase.php
index afe1f1a582e121b07712ecb1fd700b626a0e5a7e..f07adb94238f5d7b8beac76ceb26a9dc37799034 100644
--- a/vendor/symfony/validator/Test/ConstraintValidatorTestCase.php
+++ b/vendor/symfony/validator/Test/ConstraintValidatorTestCase.php
@@ -29,6 +29,8 @@
  */
 abstract class ConstraintValidatorTestCase extends TestCase
 {
+    use TestCaseSetUpTearDownTrait;
+
     /**
      * @var ExecutionContextInterface
      */
@@ -48,7 +50,7 @@ abstract class ConstraintValidatorTestCase extends TestCase
     protected $constraint;
     protected $defaultTimezone;
 
-    protected function setUp()
+    private function doSetUp()
     {
         $this->group = 'MyGroup';
         $this->metadata = null;
@@ -70,7 +72,7 @@ protected function setUp()
         $this->setDefaultTimezone('UTC');
     }
 
-    protected function tearDown()
+    private function doTearDown()
     {
         $this->restoreDefaultTimezone();
     }
diff --git a/vendor/symfony/validator/Test/TestCaseSetUpTearDownTrait.php b/vendor/symfony/validator/Test/TestCaseSetUpTearDownTrait.php
new file mode 100644
index 0000000000000000000000000000000000000000..236e02267b118b00cd39e7d52e5d49031b7861b0
--- /dev/null
+++ b/vendor/symfony/validator/Test/TestCaseSetUpTearDownTrait.php
@@ -0,0 +1,82 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Validator\Test;
+
+use PHPUnit\Framework\TestCase;
+
+// Auto-adapt to PHPUnit 8 that added a `void` return-type to the setUp/tearDown methods
+
+if (method_exists(\ReflectionMethod::class, 'hasReturnType') && (new \ReflectionMethod(TestCase::class, 'tearDown'))->hasReturnType()) {
+    eval('
+    namespace Symfony\Component\Validator\Test;
+
+    /**
+     * @internal
+     */
+    trait TestCaseSetUpTearDownTrait
+    {
+        private function doSetUp(): void
+        {
+        }
+
+        private function doTearDown(): void
+        {
+        }
+
+        protected function setUp(): void
+        {
+            $this->doSetUp();
+        }
+
+        protected function tearDown(): void
+        {
+            $this->doTearDown();
+        }
+    }
+');
+} else {
+    /**
+     * @internal
+     */
+    trait TestCaseSetUpTearDownTrait
+    {
+        /**
+         * @return void
+         */
+        private function doSetUp()
+        {
+        }
+
+        /**
+         * @return void
+         */
+        private function doTearDown()
+        {
+        }
+
+        /**
+         * @return void
+         */
+        protected function setUp()
+        {
+            $this->doSetUp();
+        }
+
+        /**
+         * @return void
+         */
+        protected function tearDown()
+        {
+            $this->doTearDown();
+        }
+    }
+}
diff --git a/vendor/symfony/validator/Tests/ConstraintTest.php b/vendor/symfony/validator/Tests/ConstraintTest.php
index 87bac5b0a6e93055ea353e9303b01f4220896e17..d1f41ce5ee97d53115757b4dd466627629c80af6 100644
--- a/vendor/symfony/validator/Tests/ConstraintTest.php
+++ b/vendor/symfony/validator/Tests/ConstraintTest.php
@@ -225,7 +225,7 @@ public function testOptionsAsDefaultOption()
 
     /**
      * @expectedException \Symfony\Component\Validator\Exception\InvalidOptionsException
-     * @expectedExceptionMessage The options "0", "5" do not exist
+     * @expectedExceptionMessage The options "0", "5" do not exist in constraint "Symfony\Component\Validator\Tests\Fixtures\ConstraintA".
      */
     public function testInvalidOptions()
     {
@@ -242,4 +242,13 @@ public function testOptionsWithInvalidInternalPointer()
 
         $this->assertEquals('foo', $constraint->property1);
     }
+
+    /**
+     * @expectedException \Symfony\Component\Validator\Exception\ConstraintDefinitionException
+     * @expectedExceptionMessage No default option is configured for constraint "Symfony\Component\Validator\Tests\Fixtures\ConstraintB".
+     */
+    public function testAnnotationSetUndefinedDefaultOption()
+    {
+        new ConstraintB(['value' => 1]);
+    }
 }
diff --git a/vendor/symfony/validator/Tests/Constraints/ChoiceValidatorTest.php b/vendor/symfony/validator/Tests/Constraints/ChoiceValidatorTest.php
index 1f312cda170423b107ac7c06aa47e9fa0a4f4789..e83cb8997745a3097439d992e8e70bf813d1ccd4 100644
--- a/vendor/symfony/validator/Tests/Constraints/ChoiceValidatorTest.php
+++ b/vendor/symfony/validator/Tests/Constraints/ChoiceValidatorTest.php
@@ -55,12 +55,10 @@ public function testNullIsValid()
     {
         $this->validator->validate(
             null,
-            new Choice(
-                [
-                    'choices' => ['foo', 'bar'],
-                    'strict' => true,
-                ]
-            )
+            new Choice([
+                'choices' => ['foo', 'bar'],
+                'strict' => true,
+            ])
         );
 
         $this->assertNoViolation();
@@ -102,14 +100,12 @@ public function testValidChoiceCallbackFunction()
 
     public function testValidChoiceCallbackClosure()
     {
-        $constraint = new Choice(
-            [
-                'strict' => true,
-                'callback' => function () {
-                    return ['foo', 'bar'];
-                },
-            ]
-        );
+        $constraint = new Choice([
+            'strict' => true,
+            'callback' => function () {
+                return ['foo', 'bar'];
+            },
+        ]);
 
         $this->validator->validate('bar', $constraint);
 
diff --git a/vendor/symfony/validator/Tests/Constraints/CountValidatorTest.php b/vendor/symfony/validator/Tests/Constraints/CountValidatorTest.php
index 8416136fd4af32fed904869169a40a0919ed7fa9..01e23cc3b92cdc0b3a2c6c6b24a3dc7cb481e9e7 100644
--- a/vendor/symfony/validator/Tests/Constraints/CountValidatorTest.php
+++ b/vendor/symfony/validator/Tests/Constraints/CountValidatorTest.php
@@ -195,4 +195,13 @@ public function testDefaultOption()
         $this->assertEquals(5, $constraint->min);
         $this->assertEquals(5, $constraint->max);
     }
+
+    public function testConstraintAnnotationDefaultOption()
+    {
+        $constraint = new Count(['value' => 5, 'exactMessage' => 'message']);
+
+        $this->assertEquals(5, $constraint->min);
+        $this->assertEquals(5, $constraint->max);
+        $this->assertEquals('message', $constraint->exactMessage);
+    }
 }
diff --git a/vendor/symfony/validator/Tests/Constraints/LengthValidatorTest.php b/vendor/symfony/validator/Tests/Constraints/LengthValidatorTest.php
index 955d8b556453e08dd4676c55ca70cc8c57e2ad64..f1daee534aa3fa92359a1240dd4a4b53c1977f41 100644
--- a/vendor/symfony/validator/Tests/Constraints/LengthValidatorTest.php
+++ b/vendor/symfony/validator/Tests/Constraints/LengthValidatorTest.php
@@ -237,11 +237,20 @@ public function testOneCharset($value, $charset, $isValid)
         }
     }
 
-    public function testConstraintGetDefaultOption()
+    public function testConstraintDefaultOption()
     {
         $constraint = new Length(5);
 
         $this->assertEquals(5, $constraint->min);
         $this->assertEquals(5, $constraint->max);
     }
+
+    public function testConstraintAnnotationDefaultOption()
+    {
+        $constraint = new Length(['value' => 5, 'exactMessage' => 'message']);
+
+        $this->assertEquals(5, $constraint->min);
+        $this->assertEquals(5, $constraint->max);
+        $this->assertEquals('message', $constraint->exactMessage);
+    }
 }
diff --git a/vendor/symfony/validator/Tests/Mapping/Cache/Psr6CacheTest.php b/vendor/symfony/validator/Tests/Mapping/Cache/Psr6CacheTest.php
index c11dddbf6ff9dbfb749c1905d4b48960cf85d030..fcac5e232ae4e642a8a15a1d063c01d706692fb2 100644
--- a/vendor/symfony/validator/Tests/Mapping/Cache/Psr6CacheTest.php
+++ b/vendor/symfony/validator/Tests/Mapping/Cache/Psr6CacheTest.php
@@ -23,4 +23,12 @@ public function testNameCollision()
         $this->cache->write($metadata);
         $this->assertFalse($this->cache->has('Foo_Bar'));
     }
+
+    public function testNameWithInvalidChars()
+    {
+        $metadata = new ClassMetadata('class@anonymous/path/file');
+
+        $this->cache->write($metadata);
+        $this->assertTrue($this->cache->has('class@anonymous/path/file'));
+    }
 }
diff --git a/vendor/symfony/validator/Tests/Mapping/Loader/constraint-mapping-non-strings.xml b/vendor/symfony/validator/Tests/Mapping/Loader/constraint-mapping-non-strings.xml
index dfd5edddc5ecadbd147359734a7ffc79fdce87ca..83945a60d4f72baec10ad4f4bbfdb9609feb57e1 100644
--- a/vendor/symfony/validator/Tests/Mapping/Loader/constraint-mapping-non-strings.xml
+++ b/vendor/symfony/validator/Tests/Mapping/Loader/constraint-mapping-non-strings.xml
@@ -2,7 +2,7 @@
 
 <constraint-mapping xmlns="http://symfony.com/schema/dic/constraint-mapping"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/dic/constraint-mapping http://symfony.com/schema/dic/constraint-mapping/constraint-mapping-1.0.xsd">
+    xsi:schemaLocation="http://symfony.com/schema/dic/constraint-mapping https://symfony.com/schema/dic/constraint-mapping/constraint-mapping-1.0.xsd">
 
   <namespace prefix="custom">Symfony\Component\Validator\Tests\Fixtures\</namespace>
 
diff --git a/vendor/symfony/validator/Tests/Mapping/Loader/constraint-mapping.xml b/vendor/symfony/validator/Tests/Mapping/Loader/constraint-mapping.xml
index b1426cf4a90cd8bff5b35f89ae7799a68ae8e1e0..5a7e9d46eeb1ffdf45f9e787cdfc813563a3aa38 100644
--- a/vendor/symfony/validator/Tests/Mapping/Loader/constraint-mapping.xml
+++ b/vendor/symfony/validator/Tests/Mapping/Loader/constraint-mapping.xml
@@ -2,7 +2,7 @@
 
 <constraint-mapping xmlns="http://symfony.com/schema/dic/constraint-mapping"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/dic/constraint-mapping http://symfony.com/schema/dic/constraint-mapping/constraint-mapping-1.0.xsd">
+    xsi:schemaLocation="http://symfony.com/schema/dic/constraint-mapping https://symfony.com/schema/dic/constraint-mapping/constraint-mapping-1.0.xsd">
 
   <namespace prefix="custom">Symfony\Component\Validator\Tests\Fixtures\</namespace>
 
diff --git a/vendor/symfony/validator/Tests/Mapping/Loader/withdoctype.xml b/vendor/symfony/validator/Tests/Mapping/Loader/withdoctype.xml
index 0beacc32cdac59cff5f34651410e6b87d2b546e2..08d614469e5a2ab40142996ee0735c7847b00823 100644
--- a/vendor/symfony/validator/Tests/Mapping/Loader/withdoctype.xml
+++ b/vendor/symfony/validator/Tests/Mapping/Loader/withdoctype.xml
@@ -2,6 +2,6 @@
 <!DOCTYPE foo>
 <constraint-mapping xmlns="http://symfony.com/schema/dic/constraint-mapping"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/dic/constraint-mapping http://symfony.com/schema/dic/constraint-mapping/constraint-mapping-1.0.xsd">
+    xsi:schemaLocation="http://symfony.com/schema/dic/constraint-mapping https://symfony.com/schema/dic/constraint-mapping/constraint-mapping-1.0.xsd">
   <class name="Symfony\Component\Validator\Tests\Fixtures\Entity" />
 </constraint-mapping>
diff --git a/vendor/symfony/validator/Tests/Validator/AbstractValidatorTest.php b/vendor/symfony/validator/Tests/Validator/AbstractValidatorTest.php
index ecfc10feb643ac93551d552c34bc56858c894844..884ccc7da0f955e3a79713d11ee451457e619e96 100644
--- a/vendor/symfony/validator/Tests/Validator/AbstractValidatorTest.php
+++ b/vendor/symfony/validator/Tests/Validator/AbstractValidatorTest.php
@@ -589,6 +589,30 @@ public function testRecursiveArrayReference()
         $this->assertNull($violations[0]->getCode());
     }
 
+    public function testOnlyCascadedArraysAreTraversed()
+    {
+        $entity = new Entity();
+        $entity->reference = ['key' => new Reference()];
+
+        $callback = function ($value, ExecutionContextInterface $context) {
+            $context->addViolation('Message %param%', ['%param%' => 'value']);
+        };
+
+        $this->metadata->addPropertyConstraint('reference', new Callback([
+            'callback' => function () {},
+            'groups' => 'Group',
+        ]));
+        $this->referenceMetadata->addConstraint(new Callback([
+            'callback' => $callback,
+            'groups' => 'Group',
+        ]));
+
+        $violations = $this->validate($entity, null, 'Group');
+
+        /* @var ConstraintViolationInterface[] $violations */
+        $this->assertCount(0, $violations);
+    }
+
     public function testArrayTraversalCannotBeDisabled()
     {
         $entity = new Entity();
diff --git a/vendor/symfony/validator/Validator/RecursiveContextualValidator.php b/vendor/symfony/validator/Validator/RecursiveContextualValidator.php
index 50253c50e1bb4941799988d31c45b39bef9ef247..dc139c36d4254b7e0e23062da00fd9c136ba08ca 100644
--- a/vendor/symfony/validator/Validator/RecursiveContextualValidator.php
+++ b/vendor/symfony/validator/Validator/RecursiveContextualValidator.php
@@ -352,24 +352,18 @@ private function validateObject($object, $propertyPath, array $groups, $traversa
      * Validates each object in a collection against the constraints defined
      * for their classes.
      *
-     * If the parameter $recursive is set to true, nested {@link \Traversable}
-     * objects are iterated as well. Nested arrays are always iterated,
-     * regardless of the value of $recursive.
+     * Nested arrays are also iterated.
      *
      * @param iterable                  $collection   The collection
      * @param string                    $propertyPath The current property path
      * @param (string|GroupSequence)[]  $groups       The validated groups
      * @param ExecutionContextInterface $context      The current execution context
-     *
-     * @see ClassNode
-     * @see CollectionNode
      */
     private function validateEachObjectIn($collection, $propertyPath, array $groups, ExecutionContextInterface $context)
     {
         foreach ($collection as $key => $value) {
             if (\is_array($value)) {
-                // Arrays are always cascaded, independent of the specified
-                // traversal strategy
+                // Also traverse nested arrays
                 $this->validateEachObjectIn(
                     $value,
                     $propertyPath.'['.$key.']',
@@ -599,7 +593,8 @@ private function validateClassNode($object, $cacheKey, ClassMetadataInterface $m
      * in the passed metadata object. Then, if the value is an instance of
      * {@link \Traversable} and the selected traversal strategy permits it,
      * the value is traversed and each nested object validated against its own
-     * constraints. Arrays are always traversed.
+     * constraints. If the value is an array, it is traversed regardless of
+     * the given strategy.
      *
      * @param mixed                     $value             The validated value
      * @param object|null               $object            The current object
@@ -658,8 +653,8 @@ private function validateGenericNode($value, $object, $cacheKey, MetadataInterfa
 
         $cascadingStrategy = $metadata->getCascadingStrategy();
 
-        // Quit unless we have an array or a cascaded object
-        if (!\is_array($value) && !($cascadingStrategy & CascadingStrategy::CASCADE)) {
+        // Quit unless we cascade
+        if (!($cascadingStrategy & CascadingStrategy::CASCADE)) {
             return;
         }
 
diff --git a/vendor/symfony/yaml/Tests/Fixtures/YtsSpecificationExamples.yml b/vendor/symfony/yaml/Tests/Fixtures/YtsSpecificationExamples.yml
index 4ecd828f0107ac1823e9788dd579c15ebd043118..dd2d776fa2e971795a8628263f6849b401e06463 100644
--- a/vendor/symfony/yaml/Tests/Fixtures/YtsSpecificationExamples.yml
+++ b/vendor/symfony/yaml/Tests/Fixtures/YtsSpecificationExamples.yml
@@ -72,7 +72,7 @@ yaml: |
       - 2001-07-23
 perl-busted: >
     YAML.pm will be able to emulate this behavior soon. In this regard
-    it may be somewhat more correct than Python's native behaviour which
+    it may be somewhat more correct than Python's native behavior which
     can only use tuples as mapping keys. PyYAML will also need to figure
     out some clever way to roundtrip structured keys.
 python: |
diff --git a/vendor/twig/twig/CHANGELOG b/vendor/twig/twig/CHANGELOG
index 2c563cf95c010914f45f91fdc576d5fced46dcce..ad18602b86b1ee83514a2e9413d7a9e001a604c1 100644
--- a/vendor/twig/twig/CHANGELOG
+++ b/vendor/twig/twig/CHANGELOG
@@ -1,3 +1,30 @@
+* 1.39.1 (2019-04-16)
+
+ * fixed EscaperNodeVisitor
+
+* 1.39.0 (2019-04-16)
+
+ * added Traversable support for the length filter
+ * fixed some wrong location in error messages
+ * made exception creation faster
+ * made escaping on ternary expressions (?: and ??) more fine-grained
+ * added the possibility to give a nice name to string templates (template_from_string function)
+ * fixed the "with" behavior to always include the globals (for consistency with the "include" and "embed" tags)
+ * fixed "include" with "ignore missing" when an error loading occurs in the included template
+ * added support for a new whitespace trimming option ({%~ ~%}, {{~ ~}}, {#~ ~#})
+
+* 1.38.4 (2019-03-23)
+
+ * fixed CheckToStringNode implementation (broken when a function/filter is variadic)
+
+* 1.38.3 (2019-03-21)
+
+ * fixed the spaceless filter so that it behaves like the spaceless tag
+ * fixed BC break on Environment::resolveTemplate()
+ * fixed the bundled Autoloader to also load namespaced classes
+ * allowed Traversable objects to be used in the "with" tag
+ * allowed Traversable objects to be used in the "with" argument of the "include" and "embed" tags
+
 * 1.38.2 (2019-03-12)
 
  * added TemplateWrapper::getTemplateName()
diff --git a/vendor/twig/twig/composer.json b/vendor/twig/twig/composer.json
index 7eae2f0759995696410e87c0b676afedb1fbfdac..84a08a71fc8008dadc6b920fb5eba730a18aca31 100644
--- a/vendor/twig/twig/composer.json
+++ b/vendor/twig/twig/composer.json
@@ -42,7 +42,7 @@
     },
     "extra": {
         "branch-alias": {
-            "dev-master": "1.38-dev"
+            "dev-master": "1.39-dev"
         }
     }
 }
diff --git a/vendor/twig/twig/doc/filters/index.rst b/vendor/twig/twig/doc/filters/index.rst
index 8daa961183871de164b5451223913de2671d8136..1ef94199f842e7708338021a4165f686d4f20b1a 100644
--- a/vendor/twig/twig/doc/filters/index.rst
+++ b/vendor/twig/twig/doc/filters/index.rst
@@ -29,6 +29,7 @@ Filters
     round
     slice
     sort
+    spaceless
     split
     striptags
     title
diff --git a/vendor/twig/twig/doc/filters/json_encode.rst b/vendor/twig/twig/doc/filters/json_encode.rst
index f02a7a89acff7b598fe4dc4faccd97681081697e..4a8635a9bc25ec3dccc215cea92867b11feeeb44 100644
--- a/vendor/twig/twig/doc/filters/json_encode.rst
+++ b/vendor/twig/twig/doc/filters/json_encode.rst
@@ -17,7 +17,7 @@ Arguments
 * ``options``: A bitmask of `json_encode options`_: ``{{
   data|json_encode(constant('JSON_PRETTY_PRINT')) }}``.
   Combine constants using :ref:`bitwise operators<template_logic>`:
-  ``{{ data|json_encode(constant('JSON_PRETTY_PRINT') b-or constant('JSON_HEX_QUOT') }}``
+  ``{{ data|json_encode(constant('JSON_PRETTY_PRINT') b-or constant('JSON_HEX_QUOT')) }}``
 
 .. _`json_encode`: https://secure.php.net/json_encode
 .. _`json_encode options`: https://secure.php.net/manual/en/json.constants.php
diff --git a/vendor/twig/twig/doc/filters/raw.rst b/vendor/twig/twig/doc/filters/raw.rst
index e5e5b12ecd77d2e2c136a9bbd7350aeada696523..23e9287fd5e3fc481af90ce8431548795a800d83 100644
--- a/vendor/twig/twig/doc/filters/raw.rst
+++ b/vendor/twig/twig/doc/filters/raw.rst
@@ -13,6 +13,8 @@ if ``raw`` is the last filter applied to it:
 
 .. note::
 
+    **This note only applies to Twig before versions 1.39 and 2.8**.
+
     Be careful when using the ``raw`` filter inside expressions:
 
     .. code-block:: jinja
diff --git a/vendor/twig/twig/doc/functions/template_from_string.rst b/vendor/twig/twig/doc/functions/template_from_string.rst
index db7db805b10e281ceec1127f90d5df4337634f0f..17711a25ad1c618da77cd416f078feb590cdc6ed 100644
--- a/vendor/twig/twig/doc/functions/template_from_string.rst
+++ b/vendor/twig/twig/doc/functions/template_from_string.rst
@@ -4,6 +4,9 @@
 .. versionadded:: 1.11
     The ``template_from_string`` function was added in Twig 1.11.
 
+.. versionadded:: 1.39
+    The name argument was added in Twig 1.39.
+
 The ``template_from_string`` function loads a template from a string:
 
 .. code-block:: jinja
@@ -11,6 +14,13 @@ The ``template_from_string`` function loads a template from a string:
     {{ include(template_from_string("Hello {{ name }}")) }}
     {{ include(template_from_string(page.template)) }}
 
+To ease debugging, you can also give the template a name that will be part of
+any related error message:
+
+.. code-block:: jinja
+
+    {{ include(template_from_string(page.template, "template for page " ~ page.name)) }}
+
 .. note::
 
     The ``template_from_string`` function is not available by default. You
@@ -30,3 +40,4 @@ Arguments
 ---------
 
 * ``template``: The template
+* ``name``: A name for the template
diff --git a/vendor/twig/twig/doc/templates.rst b/vendor/twig/twig/doc/templates.rst
index 91db45aa56a02a889f60a2769fcbb75d416a128c..adebd9a143584daf3115c9f0ad9fb0f111e184da 100644
--- a/vendor/twig/twig/doc/templates.rst
+++ b/vendor/twig/twig/doc/templates.rst
@@ -844,25 +844,28 @@ Whitespace Control
 .. versionadded:: 1.1
     Tag level whitespace control was added in Twig 1.1.
 
-The first newline after a template tag is removed automatically (like in PHP.)
+.. versionadded:: 1.39
+    Tag level Line whitespace control was added in Twig 1.39.
+
+The first newline after a template tag is removed automatically (like in PHP).
 Whitespace is not further modified by the template engine, so each whitespace
 (spaces, tabs, newlines etc.) is returned unchanged.
 
-Use the ``spaceless`` tag to remove whitespace *between HTML tags*:
+You can also control whitespace on a per tag level. By using the whitespace
+control modifiers on your tags, you can trim leading and or trailing whitespace.
 
-.. code-block:: jinja
+Twig supports two modifiers:
 
-    {% spaceless %}
-        <div>
-            <strong>foo bar</strong>
-        </div>
-    {% endspaceless %}
+* *Whitespace trimming* via the ``-`` modifier: Removes all whitespace
+  (including newlines);
 
-    {# output will be <div><strong>foo bar</strong></div> #}
+* *Line whitespace trimming* via the ``~`` modifier: Removes all whitespace
+  (excluding newlines). Using this modifier on the right disables the default
+  removal of the first newline inherited from PHP.
 
-In addition to the spaceless tag you can also control whitespace on a per tag
-level. By using the whitespace control modifier on your tags, you can trim
-leading and or trailing whitespace:
+The modifiers can be used on either side of the tags like in ``{%-`` or ``-%}``
+and they consume all whitespace for that side of the tag. It is possible to use
+the modifiers on one side of a tag or on both sides:
 
 .. code-block:: jinja
 
@@ -871,20 +874,34 @@ leading and or trailing whitespace:
     {%- if true -%}
         {{- value -}}
     {%- endif -%}
-
     {# output 'no spaces' #}
 
-The above sample shows the default whitespace control modifier, and how you can
-use it to remove whitespace around tags. Trimming space will consume all whitespace
-for that side of the tag.  It is possible to use whitespace trimming on one side
-of a tag:
+    <li>
+        {{ value }}    </li>
+    {# outputs '<li>\n    no spaces    </li>' #}
 
-.. code-block:: jinja
+    <li>
+        {{- value }}    </li>
+    {# outputs '<li>no spaces    </li>' #}
 
-    {% set value = 'no spaces' %}
-    <li>    {{- value }}    </li>
+    <li>
+        {{~ value }}    </li>
+    {# outputs '<li>\nno spaces    </li>' #}
 
-    {# outputs '<li>no spaces    </li>' #}
+.. tip::
+
+    In addition to the whitespace modifiers, Twig also has a ``spaceless`` filter
+    that removes whitespace **between HTML tags**:
+
+    .. code-block:: jinja
+
+        {% filter spaceless %}
+            <div>
+                <strong>foo bar</strong>
+            </div>
+        {% endfilter %}
+
+        {# output will be <div><strong>foo bar</strong></div> #}
 
 Extensions
 ----------
diff --git a/vendor/twig/twig/ext/twig/php_twig.h b/vendor/twig/twig/ext/twig/php_twig.h
index efbe2da2c9d1c7da85c322658a719d4b6858c05e..1f8a10c9ee932468f4c393ad93404b63b6d21259 100644
--- a/vendor/twig/twig/ext/twig/php_twig.h
+++ b/vendor/twig/twig/ext/twig/php_twig.h
@@ -15,7 +15,7 @@
 #ifndef PHP_TWIG_H
 #define PHP_TWIG_H
 
-#define PHP_TWIG_VERSION "1.38.2"
+#define PHP_TWIG_VERSION "1.39.1"
 
 #include "php.h"
 
diff --git a/vendor/twig/twig/lib/Twig/Autoloader.php b/vendor/twig/twig/lib/Twig/Autoloader.php
index 633d7a582eb6e72f0b2406fe2fb4caa54633cb4b..e34e2144fcf5d2efc2254c6af80aba77678f266a 100644
--- a/vendor/twig/twig/lib/Twig/Autoloader.php
+++ b/vendor/twig/twig/lib/Twig/Autoloader.php
@@ -45,6 +45,8 @@ public static function autoload($class)
 
         if (is_file($file = __DIR__.'/../'.str_replace(['_', "\0"], ['/', ''], $class).'.php')) {
             require $file;
+        } elseif (is_file($file = __DIR__.'/../../src/'.str_replace(['Twig\\', '\\', "\0"], ['', '/', ''], $class).'.php')) {
+            require $file;
         }
     }
 }
diff --git a/vendor/twig/twig/phpunit.xml.dist b/vendor/twig/twig/phpunit.xml.dist
index ce773278553adac1f7f150e41cd9531d62f3b10d..0ca6827d5772dd16417ca0309b40679ae14843ae 100644
--- a/vendor/twig/twig/phpunit.xml.dist
+++ b/vendor/twig/twig/phpunit.xml.dist
@@ -19,6 +19,7 @@
 
   <php>
     <ini name="error_reporting" value="-1" />
+    <ini name="xdebug.overload_var_dump" value="0" />
   </php>
 
   <listeners>
@@ -27,7 +28,7 @@
 
   <filter>
     <whitelist>
-      <directory suffix=".php">./lib/Twig/</directory>
+      <directory suffix=".php">./src/</directory>
     </whitelist>
   </filter>
 </phpunit>
diff --git a/vendor/twig/twig/src/Environment.php b/vendor/twig/twig/src/Environment.php
index 1bc11cd4ad42c0bd4943da14d87853b7e59216f1..fe0818541f1fbfabf354e8e689686aad2decfbae 100644
--- a/vendor/twig/twig/src/Environment.php
+++ b/vendor/twig/twig/src/Environment.php
@@ -41,11 +41,11 @@
  */
 class Environment
 {
-    const VERSION = '1.38.2';
-    const VERSION_ID = 13802;
-    const MAJOR_VERSION = 2;
-    const MINOR_VERSION = 38;
-    const RELEASE_VERSION = 2;
+    const VERSION = '1.39.1';
+    const VERSION_ID = 13901;
+    const MAJOR_VERSION = 1;
+    const MINOR_VERSION = 39;
+    const RELEASE_VERSION = 1;
     const EXTRA_VERSION = '';
 
     protected $charset;
@@ -83,7 +83,6 @@ class Environment
     private $runtimeLoaders = [];
     private $runtimes = [];
     private $optionsHash;
-    private $loading = [];
 
     /**
      * Constructor.
@@ -471,6 +470,7 @@ public function loadClass($cls, $name, $index = null)
                 $this->cache->load($key);
             }
 
+            $source = null;
             if (!class_exists($cls, false)) {
                 $loader = $this->getLoader();
                 if (!$loader instanceof SourceContextLoaderInterface) {
@@ -507,22 +507,7 @@ public function loadClass($cls, $name, $index = null)
             $this->initRuntime();
         }
 
-        if (isset($this->loading[$cls])) {
-            throw new RuntimeError(sprintf('Circular reference detected for Twig template "%s", path: %s.', $name, implode(' -> ', array_merge($this->loading, [$name]))));
-        }
-
-        $this->loading[$cls] = $name;
-
-        try {
-            $this->loadedTemplates[$cls] = new $cls($this);
-            unset($this->loading[$cls]);
-        } catch (\Exception $e) {
-            unset($this->loading[$cls]);
-
-            throw $e;
-        }
-
-        return $this->loadedTemplates[$cls];
+        return $this->loadedTemplates[$cls] = new $cls($this);
     }
 
     /**
@@ -531,15 +516,21 @@ public function loadClass($cls, $name, $index = null)
      * This method should not be used as a generic way to load templates.
      *
      * @param string $template The template name
+     * @param string $name     An optional name of the template to be used in error messages
      *
      * @return TemplateWrapper A template instance representing the given template name
      *
      * @throws LoaderError When the template cannot be found
      * @throws SyntaxError When an error occurred during compilation
      */
-    public function createTemplate($template)
+    public function createTemplate($template, $name = null)
     {
-        $name = sprintf('__string_template__%s', hash('sha256', $template, false));
+        $hash = hash('sha256', $template, false);
+        if (null !== $name) {
+            $name = sprintf('%s (string template %s)', $name, $hash);
+        } else {
+            $name = sprintf('__string_template__%s', $hash);
+        }
 
         $loader = new ChainLoader([
             new ArrayLoader([$name => $template]),
@@ -597,7 +588,7 @@ public function isTemplateFresh($name, $time)
      *
      * @param string|Template|\Twig\TemplateWrapper|array $names A template or an array of templates to try consecutively
      *
-     * @return TemplateWrapper
+     * @return TemplateWrapper|Template
      *
      * @throws LoaderError When none of the templates can be found
      * @throws SyntaxError When an error occurred during compilation
@@ -605,13 +596,23 @@ public function isTemplateFresh($name, $time)
     public function resolveTemplate($names)
     {
         if (!\is_array($names)) {
-            return $this->load($names);
+            $names = [$names];
         }
 
         foreach ($names as $name) {
+            if ($name instanceof Template) {
+                return $name;
+            }
+            if ($name instanceof TemplateWrapper) {
+                return $name;
+            }
+
             try {
-                return $this->load($name);
+                return $this->loadTemplate($name);
             } catch (LoaderError $e) {
+                if (1 === \count($names)) {
+                    throw $e;
+                }
             }
         }
 
diff --git a/vendor/twig/twig/src/Error/Error.php b/vendor/twig/twig/src/Error/Error.php
index e43a363746f487fb8c2255c39c90f259d770d3b5..6dd9b9d4dfac06aa1429a5b5e5383b68f0d0071c 100644
--- a/vendor/twig/twig/src/Error/Error.php
+++ b/vendor/twig/twig/src/Error/Error.php
@@ -63,7 +63,7 @@ class Error extends \Exception
      * @param Source|string|null $source   The source context where the error occurred
      * @param \Exception         $previous The previous exception
      */
-    public function __construct($message, $lineno = -1, $source = null, \Exception $previous = null, $autoGuess = true)
+    public function __construct($message, $lineno = -1, $source = null, \Exception $previous = null)
     {
         if (null === $source) {
             $name = null;
@@ -79,13 +79,7 @@ public function __construct($message, $lineno = -1, $source = null, \Exception $
 
         $this->lineno = $lineno;
         $this->filename = $name;
-
-        if ($autoGuess && (-1 === $lineno || null === $name || null === $this->sourcePath)) {
-            $this->guessTemplateInfo();
-        }
-
         $this->rawMessage = $message;
-
         $this->updateRepr();
     }
 
diff --git a/vendor/twig/twig/src/Error/LoaderError.php b/vendor/twig/twig/src/Error/LoaderError.php
index 5a1cd1ecc0721af2d118bbbc5aba89b201529494..dc5a9f1af735b6ad54f499a29bd81c1d0cde49d8 100644
--- a/vendor/twig/twig/src/Error/LoaderError.php
+++ b/vendor/twig/twig/src/Error/LoaderError.php
@@ -14,22 +14,10 @@
 /**
  * Exception thrown when an error occurs during template loading.
  *
- * Automatic template information guessing is always turned off as
- * if a template cannot be loaded, there is nothing to guess.
- * However, when a template is loaded from another one, then, we need
- * to find the current context and this is automatically done by
- * Twig\Template::displayWithErrorHandling().
- *
- * This strategy makes Twig\Environment::resolveTemplate() much faster.
- *
  * @author Fabien Potencier <fabien@symfony.com>
  */
 class LoaderError extends Error
 {
-    public function __construct($message, $lineno = -1, $source = null, \Exception $previous = null)
-    {
-        parent::__construct($message, $lineno, $source, $previous, false);
-    }
 }
 
 class_alias('Twig\Error\LoaderError', 'Twig_Error_Loader');
diff --git a/vendor/twig/twig/src/Extension/CoreExtension.php b/vendor/twig/twig/src/Extension/CoreExtension.php
index 63265d619aff0f16e7fe9c7b3e8c92e049fb1a86..37301dfd478c229736140becb9ea149d25654f01 100644
--- a/vendor/twig/twig/src/Extension/CoreExtension.php
+++ b/vendor/twig/twig/src/Extension/CoreExtension.php
@@ -362,9 +362,7 @@ function twig_random(Environment $env, $values = null, $max = null)
         return mt_rand($min, $max);
     }
 
-    if ($values instanceof \Traversable) {
-        $values = iterator_to_array($values);
-    } elseif (\is_string($values)) {
+    if (\is_string($values)) {
         if ('' === $values) {
             return '';
         }
@@ -387,10 +385,12 @@ function twig_random(Environment $env, $values = null, $max = null)
         }
     }
 
-    if (!\is_array($values)) {
+    if (!twig_test_iterable($values)) {
         return $values;
     }
 
+    $values = twig_to_array($values);
+
     if (0 === \count($values)) {
         throw new RuntimeError('The random function cannot pick from an empty array.');
     }
@@ -510,17 +510,17 @@ function twig_date_converter(Environment $env, $date = null, $timezone = null)
  */
 function twig_replace_filter($str, $from, $to = null)
 {
-    if ($from instanceof \Traversable) {
-        $from = iterator_to_array($from);
-    } elseif (\is_string($from) && \is_string($to)) {
+    if (\is_string($from) && \is_string($to)) {
         @trigger_error('Using "replace" with character by character replacement is deprecated since version 1.22 and will be removed in Twig 2.0', E_USER_DEPRECATED);
 
         return strtr($str, $from, $to);
-    } elseif (!\is_array($from)) {
+    }
+
+    if (!twig_test_iterable($from)) {
         throw new RuntimeError(sprintf('The "replace" filter expects an array or "Traversable" as replace values, got "%s".', \is_object($from) ? \get_class($from) : \gettype($from)));
     }
 
-    return strtr($str, $from);
+    return strtr($str, twig_to_array($from));
 }
 
 /**
@@ -639,19 +639,15 @@ function _twig_markup2string(&$value)
  */
 function twig_array_merge($arr1, $arr2)
 {
-    if ($arr1 instanceof \Traversable) {
-        $arr1 = iterator_to_array($arr1);
-    } elseif (!\is_array($arr1)) {
+    if (!twig_test_iterable($arr1)) {
         throw new RuntimeError(sprintf('The merge filter only works with arrays or "Traversable", got "%s" as first argument.', \gettype($arr1)));
     }
 
-    if ($arr2 instanceof \Traversable) {
-        $arr2 = iterator_to_array($arr2);
-    } elseif (!\is_array($arr2)) {
+    if (!twig_test_iterable($arr2)) {
         throw new RuntimeError(sprintf('The merge filter only works with arrays or "Traversable", got "%s" as second argument.', \gettype($arr2)));
     }
 
-    return array_merge($arr1, $arr2);
+    return array_merge(twig_to_array($arr1), twig_to_array($arr2));
 }
 
 /**
@@ -674,7 +670,7 @@ function twig_slice(Environment $env, $item, $start, $length = null, $preserveKe
         if ($start >= 0 && $length >= 0 && $item instanceof \Iterator) {
             try {
                 return iterator_to_array(new \LimitIterator($item, $start, null === $length ? -1 : $length), $preserveKeys);
-            } catch (\OutOfBoundsException $exception) {
+            } catch (\OutOfBoundsException $e) {
                 return [];
             }
         }
@@ -745,12 +741,12 @@ function twig_last(Environment $env, $item)
  */
 function twig_join_filter($value, $glue = '', $and = null)
 {
-    if ($value instanceof \Traversable) {
-        $value = iterator_to_array($value, false);
-    } else {
+    if (!twig_test_iterable($value)) {
         $value = (array) $value;
     }
 
+    $value = twig_to_array($value, false);
+
     if (0 === \count($value)) {
         return '';
     }
@@ -759,12 +755,11 @@ function twig_join_filter($value, $glue = '', $and = null)
         return implode($glue, $value);
     }
 
-    $v = array_values($value);
-    if (1 === \count($v)) {
-        return $v[0];
+    if (1 === \count($value)) {
+        return $value[0];
     }
 
-    return implode($glue, \array_slice($value, 0, -1)).$and.$v[\count($v) - 1];
+    return implode($glue, \array_slice($value, 0, -1)).$and.$value[\count($value) - 1];
 }
 
 /**
@@ -997,7 +992,7 @@ function twig_trim_filter($string, $characterMask = null, $side = 'both')
  */
 function twig_spaceless($content)
 {
-    return preg_replace('/>\s+</', '><', $content);
+    return trim(preg_replace('/>\s+</', '><', $content));
 }
 
 /**
@@ -1312,20 +1307,16 @@ function twig_length_filter(Environment $env, $thing)
             return mb_strlen($thing, $env->getCharset());
         }
 
-        if ($thing instanceof \SimpleXMLElement) {
+        if ($thing instanceof \Countable || \is_array($thing) || $thing instanceof \SimpleXMLElement) {
             return \count($thing);
         }
 
-        if (\is_object($thing) && method_exists($thing, '__toString') && !$thing instanceof \Countable) {
-            return mb_strlen((string) $thing, $env->getCharset());
-        }
-
-        if ($thing instanceof \Countable || \is_array($thing)) {
-            return \count($thing);
+        if ($thing instanceof \Traversable) {
+            return iterator_count($thing);
         }
 
-        if ($thing instanceof \IteratorAggregate) {
-            return iterator_count($thing);
+        if (\is_object($thing) && method_exists($thing, '__toString')) {
+            return mb_strlen((string) $thing, $env->getCharset());
         }
 
         return 1;
@@ -1470,6 +1461,22 @@ function twig_ensure_traversable($seq)
     return [];
 }
 
+/**
+ * @internal
+ */
+function twig_to_array($seq, $preserveKeys = true)
+{
+    if ($seq instanceof \Traversable) {
+        return iterator_to_array($seq, $preserveKeys);
+    }
+
+    if (!\is_array($seq)) {
+        return $seq;
+    }
+
+    return $preserveKeys ? $seq : array_values($seq);
+}
+
 /**
  * Checks if a variable is empty.
  *
@@ -1539,9 +1546,9 @@ function twig_include(Environment $env, $context, $template, $variables = [], $w
         }
     }
 
-    $result = '';
+    $loaded = null;
     try {
-        $result = $env->resolveTemplate($template)->render($variables);
+        $loaded = $env->resolveTemplate($template);
     } catch (LoaderError $e) {
         if (!$ignoreMissing) {
             if ($isSandboxed && !$alreadySandboxed) {
@@ -1564,11 +1571,21 @@ function twig_include(Environment $env, $context, $template, $variables = [], $w
         throw $e;
     }
 
+    try {
+        $ret = $loaded ? $loaded->render($variables) : '';
+    } catch (\Exception $e) {
+        if ($isSandboxed && !$alreadySandboxed) {
+            $sandbox->disableSandbox();
+        }
+
+        throw $e;
+    }
+
     if ($isSandboxed && !$alreadySandboxed) {
         $sandbox->disableSandbox();
     }
 
-    return $result;
+    return $ret;
 }
 
 /**
@@ -1640,18 +1657,18 @@ function twig_constant_is_defined($constant, $object = null)
  */
 function twig_array_batch($items, $size, $fill = null, $preserveKeys = true)
 {
-    if ($items instanceof \Traversable) {
-        $items = iterator_to_array($items, $preserveKeys);
+    if (!twig_test_iterable($items)) {
+        throw new RuntimeError(sprintf('The "batch" filter expects an array or "Traversable", got "%s".', \is_object($items) ? \get_class($items) : \gettype($items)));
     }
 
     $size = ceil($size);
 
-    $result = array_chunk($items, $size, $preserveKeys);
+    $result = array_chunk(twig_to_array($items, $preserveKeys), $size, $preserveKeys);
 
     if (null !== $fill && $result) {
         $last = \count($result) - 1;
         if ($fillCount = $size - \count($result[$last])) {
-            for ($i = 0; $i < $fillCount; $i++) {
+            for ($i = 0; $i < $fillCount; ++$i) {
                 $result[$last][] = $fill;
             }
         }
diff --git a/vendor/twig/twig/src/Extension/DebugExtension.php b/vendor/twig/twig/src/Extension/DebugExtension.php
index 85ced738144b6f1a0f0843e2ddf6fb2eb7089b52..09b0223e2f7e99be79f561356b91321493918f83 100644
--- a/vendor/twig/twig/src/Extension/DebugExtension.php
+++ b/vendor/twig/twig/src/Extension/DebugExtension.php
@@ -30,7 +30,7 @@ public function getFunctions()
         ;
 
         return [
-            new TwigFunction('dump', 'twig_var_dump', ['is_safe' => $isDumpOutputHtmlSafe ? ['html'] : [], 'needs_context' => true, 'needs_environment' => true]),
+            new TwigFunction('dump', 'twig_var_dump', ['is_safe' => $isDumpOutputHtmlSafe ? ['html'] : [], 'needs_context' => true, 'needs_environment' => true, 'is_variadic' => true]),
         ];
     }
 
@@ -46,8 +46,9 @@ class_alias('Twig\Extension\DebugExtension', 'Twig_Extension_Debug');
 namespace {
 use Twig\Environment;
 use Twig\Template;
+use Twig\TemplateWrapper;
 
-function twig_var_dump(Environment $env, $context)
+function twig_var_dump(Environment $env, $context, array $vars = [])
 {
     if (!$env->isDebug()) {
         return;
@@ -55,19 +56,18 @@ function twig_var_dump(Environment $env, $context)
 
     ob_start();
 
-    $count = \func_num_args();
-    if (2 === $count) {
+    if (!$vars) {
         $vars = [];
         foreach ($context as $key => $value) {
-            if (!$value instanceof Template) {
+            if (!$value instanceof Template && !$value instanceof TemplateWrapper) {
                 $vars[$key] = $value;
             }
         }
 
         var_dump($vars);
     } else {
-        for ($i = 2; $i < $count; ++$i) {
-            var_dump(func_get_arg($i));
+        foreach ($vars as $var) {
+            var_dump($var);
         }
     }
 
diff --git a/vendor/twig/twig/src/Extension/StringLoaderExtension.php b/vendor/twig/twig/src/Extension/StringLoaderExtension.php
index 9d7e2aa53720821f4a4f7caf7f50214dff0ee7a9..93ac834ac24359365798a69dacc43fd11786f7b7 100644
--- a/vendor/twig/twig/src/Extension/StringLoaderExtension.php
+++ b/vendor/twig/twig/src/Extension/StringLoaderExtension.php
@@ -35,7 +35,7 @@ class_alias('Twig\Extension\StringLoaderExtension', 'Twig_Extension_StringLoader
 
 namespace {
 use Twig\Environment;
-use Twig\Template;
+use Twig\TemplateWrapper;
 
 /**
  * Loads a template from a string.
@@ -43,11 +43,12 @@ class_alias('Twig\Extension\StringLoaderExtension', 'Twig_Extension_StringLoader
  *     {{ include(template_from_string("Hello {{ name }}")) }}
  *
  * @param string $template A template as a string or object implementing __toString()
+ * @param string $name     An optional name of the template to be used in error messages
  *
- * @return Template
+ * @return TemplateWrapper
  */
-function twig_template_from_string(Environment $env, $template)
+function twig_template_from_string(Environment $env, $template, $name = null)
 {
-    return $env->createTemplate((string) $template);
+    return $env->createTemplate((string) $template, $name);
 }
 }
diff --git a/vendor/twig/twig/src/Lexer.php b/vendor/twig/twig/src/Lexer.php
index fcb5d5511b1e9ec2c030eb5803ce3a71ad47a02f..8cb63f388ebba349772bf03de1dd2ec39d60ce35 100644
--- a/vendor/twig/twig/src/Lexer.php
+++ b/vendor/twig/twig/src/Lexer.php
@@ -62,20 +62,100 @@ public function __construct(Environment $env, array $options = [])
             'tag_block' => ['{%', '%}'],
             'tag_variable' => ['{{', '}}'],
             'whitespace_trim' => '-',
+            'whitespace_line_trim' => '~',
+            'whitespace_line_chars' => ' \t\0\x0B',
             'interpolation' => ['#{', '}'],
         ], $options);
 
         $this->regexes = [
-            'lex_var' => '/\s*'.preg_quote($this->options['whitespace_trim'].$this->options['tag_variable'][1], '/').'\s*|\s*'.preg_quote($this->options['tag_variable'][1], '/').'/A',
-            'lex_block' => '/\s*(?:'.preg_quote($this->options['whitespace_trim'].$this->options['tag_block'][1], '/').'\s*|\s*'.preg_quote($this->options['tag_block'][1], '/').')\n?/A',
-            'lex_raw_data' => '/('.preg_quote($this->options['tag_block'][0].$this->options['whitespace_trim'], '/').'|'.preg_quote($this->options['tag_block'][0], '/').')\s*(?:end%s)\s*(?:'.preg_quote($this->options['whitespace_trim'].$this->options['tag_block'][1], '/').'\s*|\s*'.preg_quote($this->options['tag_block'][1], '/').')/s',
+            // }}
+            'lex_var' => '{
+                \s*
+                (?:'.
+                    preg_quote($this->options['whitespace_trim'].$this->options['tag_variable'][1]).'\s*'. // -}}\s*
+                    '|'.
+                    preg_quote($this->options['whitespace_line_trim'].$this->options['tag_variable'][1]).'['.$this->options['whitespace_line_chars'].']*'. // ~}}[ \t\0\x0B]*
+                    '|'.
+                    preg_quote($this->options['tag_variable'][1]). // }}
+                ')
+            }Ax',
+
+            // %}
+            'lex_block' => '{
+                \s*
+                (?:'.
+                    preg_quote($this->options['whitespace_trim'].$this->options['tag_block'][1]).'\s*\n?'. // -%}\s*\n?
+                    '|'.
+                    preg_quote($this->options['whitespace_line_trim'].$this->options['tag_block'][1]).'['.$this->options['whitespace_line_chars'].']*'. // ~%}[ \t\0\x0B]*
+                    '|'.
+                    preg_quote($this->options['tag_block'][1]).'\n?'. // %}\n?
+                ')
+            }Ax',
+
+            // {% endverbatim %}
+            'lex_raw_data' => '{'.
+                preg_quote($this->options['tag_block'][0]). // {%
+                '('.
+                    $this->options['whitespace_trim']. // -
+                    '|'.
+                    $this->options['whitespace_line_trim']. // ~
+                ')?\s*'.
+                '(?:end%s)'. // endraw or endverbatim
+                '\s*'.
+                '(?:'.
+                    preg_quote($this->options['whitespace_trim'].$this->options['tag_block'][1]).'\s*'. // -%}
+                    '|'.
+                    preg_quote($this->options['whitespace_line_trim'].$this->options['tag_block'][1]).'['.$this->options['whitespace_line_chars'].']*'. // ~%}[ \t\0\x0B]*
+                    '|'.
+                    preg_quote($this->options['tag_block'][1]). // %}
+                ')
+            }sx',
+
             'operator' => $this->getOperatorRegex(),
-            'lex_comment' => '/(?:'.preg_quote($this->options['whitespace_trim'], '/').preg_quote($this->options['tag_comment'][1], '/').'\s*|'.preg_quote($this->options['tag_comment'][1], '/').')\n?/s',
-            'lex_block_raw' => '/\s*(raw|verbatim)\s*(?:'.preg_quote($this->options['whitespace_trim'].$this->options['tag_block'][1], '/').'\s*|\s*'.preg_quote($this->options['tag_block'][1], '/').')/As',
-            'lex_block_line' => '/\s*line\s+(\d+)\s*'.preg_quote($this->options['tag_block'][1], '/').'/As',
-            'lex_tokens_start' => '/('.preg_quote($this->options['tag_variable'][0], '/').'|'.preg_quote($this->options['tag_block'][0], '/').'|'.preg_quote($this->options['tag_comment'][0], '/').')('.preg_quote($this->options['whitespace_trim'], '/').')?/s',
-            'interpolation_start' => '/'.preg_quote($this->options['interpolation'][0], '/').'\s*/A',
-            'interpolation_end' => '/\s*'.preg_quote($this->options['interpolation'][1], '/').'/A',
+
+            // #}
+            'lex_comment' => '{
+                (?:'.
+                    preg_quote($this->options['whitespace_trim']).preg_quote($this->options['tag_comment'][1], '#').'\s*\n?'. // -#}\s*\n?
+                    '|'.
+                    preg_quote($this->options['whitespace_line_trim'].$this->options['tag_comment'][1], '#').'['.$this->options['whitespace_line_chars'].']*'. // ~#}[ \t\0\x0B]*
+                    '|'.
+                    preg_quote($this->options['tag_comment'][1], '#').'\n?'. // #}\n?
+                ')
+            }sx',
+
+            // verbatim %}
+            'lex_block_raw' => '{
+                \s*
+                (raw|verbatim)
+                \s*
+                (?:'.
+                    preg_quote($this->options['whitespace_trim'].$this->options['tag_block'][1]).'\s*'. // -%}\s*
+                    '|'.
+                    preg_quote($this->options['whitespace_line_trim'].$this->options['tag_block'][1]).'['.$this->options['whitespace_line_chars'].']*'. // ~%}[ \t\0\x0B]*
+                    '|'.
+                    preg_quote($this->options['tag_block'][1]). // %}
+                ')
+            }Asx',
+
+            'lex_block_line' => '{\s*line\s+(\d+)\s*'.preg_quote($this->options['tag_block'][1]).'}As',
+
+            // {{ or {% or {#
+            'lex_tokens_start' => '{
+                ('.
+                    preg_quote($this->options['tag_variable'][0]). // {{
+                    '|'.
+                    preg_quote($this->options['tag_block'][0]). // {%
+                    '|'.
+                    preg_quote($this->options['tag_comment'][0], '#'). // {#
+                ')('.
+                    preg_quote($this->options['whitespace_trim']). // -
+                    '|'.
+                    preg_quote($this->options['whitespace_line_trim']). // ~
+                ')?
+            }sx',
+            'interpolation_start' => '{'.preg_quote($this->options['interpolation'][0]).'\s*}A',
+            'interpolation_end' => '{\s*'.preg_quote($this->options['interpolation'][1]).'}A',
         ];
     }
 
@@ -175,8 +255,17 @@ protected function lexData()
 
         // push the template text first
         $text = $textContent = substr($this->code, $this->cursor, $position[1] - $this->cursor);
+
+        // trim?
         if (isset($this->positions[2][$this->position][0])) {
-            $text = rtrim($text);
+            if ($this->options['whitespace_trim'] === $this->positions[2][$this->position][0]) {
+                // whitespace_trim detected ({%-, {{- or {#-)
+                $text = rtrim($text);
+            } else {
+                // whitespace_line_trim detected ({%~, {{~ or {#~)
+                // don't trim \r and \n
+                $text = rtrim($text, " \t\0\x0B");
+            }
         }
         $this->pushToken(Token::TEXT_TYPE, $text);
         $this->moveCursor($textContent.$position[0]);
@@ -188,11 +277,11 @@ protected function lexData()
 
             case $this->options['tag_block'][0]:
                 // raw data?
-                if (preg_match($this->regexes['lex_block_raw'], $this->code, $match, null, $this->cursor)) {
+                if (preg_match($this->regexes['lex_block_raw'], $this->code, $match, 0, $this->cursor)) {
                     $this->moveCursor($match[0]);
                     $this->lexRawData($match[1]);
                 // {% line \d+ %}
-                } elseif (preg_match($this->regexes['lex_block_line'], $this->code, $match, null, $this->cursor)) {
+                } elseif (preg_match($this->regexes['lex_block_line'], $this->code, $match, 0, $this->cursor)) {
                     $this->moveCursor($match[0]);
                     $this->lineno = (int) $match[1];
                 } else {
@@ -212,7 +301,7 @@ protected function lexData()
 
     protected function lexBlock()
     {
-        if (empty($this->brackets) && preg_match($this->regexes['lex_block'], $this->code, $match, null, $this->cursor)) {
+        if (empty($this->brackets) && preg_match($this->regexes['lex_block'], $this->code, $match, 0, $this->cursor)) {
             $this->pushToken(Token::BLOCK_END_TYPE);
             $this->moveCursor($match[0]);
             $this->popState();
@@ -223,7 +312,7 @@ protected function lexBlock()
 
     protected function lexVar()
     {
-        if (empty($this->brackets) && preg_match($this->regexes['lex_var'], $this->code, $match, null, $this->cursor)) {
+        if (empty($this->brackets) && preg_match($this->regexes['lex_var'], $this->code, $match, 0, $this->cursor)) {
             $this->pushToken(Token::VAR_END_TYPE);
             $this->moveCursor($match[0]);
             $this->popState();
@@ -235,7 +324,7 @@ protected function lexVar()
     protected function lexExpression()
     {
         // whitespace
-        if (preg_match('/\s+/A', $this->code, $match, null, $this->cursor)) {
+        if (preg_match('/\s+/A', $this->code, $match, 0, $this->cursor)) {
             $this->moveCursor($match[0]);
 
             if ($this->cursor >= $this->end) {
@@ -244,17 +333,17 @@ protected function lexExpression()
         }
 
         // operators
-        if (preg_match($this->regexes['operator'], $this->code, $match, null, $this->cursor)) {
+        if (preg_match($this->regexes['operator'], $this->code, $match, 0, $this->cursor)) {
             $this->pushToken(Token::OPERATOR_TYPE, preg_replace('/\s+/', ' ', $match[0]));
             $this->moveCursor($match[0]);
         }
         // names
-        elseif (preg_match(self::REGEX_NAME, $this->code, $match, null, $this->cursor)) {
+        elseif (preg_match(self::REGEX_NAME, $this->code, $match, 0, $this->cursor)) {
             $this->pushToken(Token::NAME_TYPE, $match[0]);
             $this->moveCursor($match[0]);
         }
         // numbers
-        elseif (preg_match(self::REGEX_NUMBER, $this->code, $match, null, $this->cursor)) {
+        elseif (preg_match(self::REGEX_NUMBER, $this->code, $match, 0, $this->cursor)) {
             $number = (float) $match[0];  // floats
             if (ctype_digit($match[0]) && $number <= PHP_INT_MAX) {
                 $number = (int) $match[0]; // integers lower than the maximum
@@ -284,12 +373,12 @@ protected function lexExpression()
             ++$this->cursor;
         }
         // strings
-        elseif (preg_match(self::REGEX_STRING, $this->code, $match, null, $this->cursor)) {
+        elseif (preg_match(self::REGEX_STRING, $this->code, $match, 0, $this->cursor)) {
             $this->pushToken(Token::STRING_TYPE, stripcslashes(substr($match[0], 1, -1)));
             $this->moveCursor($match[0]);
         }
         // opening double quoted string
-        elseif (preg_match(self::REGEX_DQ_STRING_DELIM, $this->code, $match, null, $this->cursor)) {
+        elseif (preg_match(self::REGEX_DQ_STRING_DELIM, $this->code, $match, 0, $this->cursor)) {
             $this->brackets[] = ['"', $this->lineno];
             $this->pushState(self::STATE_STRING);
             $this->moveCursor($match[0]);
@@ -313,8 +402,16 @@ protected function lexRawData($tag)
         $text = substr($this->code, $this->cursor, $match[0][1] - $this->cursor);
         $this->moveCursor($text.$match[0][0]);
 
-        if (false !== strpos($match[1][0], $this->options['whitespace_trim'])) {
-            $text = rtrim($text);
+        // trim?
+        if (isset($match[1][0])) {
+            if ($this->options['whitespace_trim'] === $match[1][0]) {
+                // whitespace_trim detected ({%-, {{- or {#-)
+                $text = rtrim($text);
+            } else {
+                // whitespace_line_trim detected ({%~, {{~ or {#~)
+                // don't trim \r and \n
+                $text = rtrim($text, " \t\0\x0B");
+            }
         }
 
         $this->pushToken(Token::TEXT_TYPE, $text);
@@ -331,15 +428,15 @@ protected function lexComment()
 
     protected function lexString()
     {
-        if (preg_match($this->regexes['interpolation_start'], $this->code, $match, null, $this->cursor)) {
+        if (preg_match($this->regexes['interpolation_start'], $this->code, $match, 0, $this->cursor)) {
             $this->brackets[] = [$this->options['interpolation'][0], $this->lineno];
             $this->pushToken(Token::INTERPOLATION_START_TYPE);
             $this->moveCursor($match[0]);
             $this->pushState(self::STATE_INTERPOLATION);
-        } elseif (preg_match(self::REGEX_DQ_STRING_PART, $this->code, $match, null, $this->cursor) && \strlen($match[0]) > 0) {
+        } elseif (preg_match(self::REGEX_DQ_STRING_PART, $this->code, $match, 0, $this->cursor) && \strlen($match[0]) > 0) {
             $this->pushToken(Token::STRING_TYPE, stripcslashes($match[0]));
             $this->moveCursor($match[0]);
-        } elseif (preg_match(self::REGEX_DQ_STRING_DELIM, $this->code, $match, null, $this->cursor)) {
+        } elseif (preg_match(self::REGEX_DQ_STRING_DELIM, $this->code, $match, 0, $this->cursor)) {
             list($expect, $lineno) = array_pop($this->brackets);
             if ('"' != $this->code[$this->cursor]) {
                 throw new SyntaxError(sprintf('Unclosed "%s".', $expect), $lineno, $this->source);
@@ -356,7 +453,7 @@ protected function lexString()
     protected function lexInterpolation()
     {
         $bracket = end($this->brackets);
-        if ($this->options['interpolation'][0] === $bracket[0] && preg_match($this->regexes['interpolation_end'], $this->code, $match, null, $this->cursor)) {
+        if ($this->options['interpolation'][0] === $bracket[0] && preg_match($this->regexes['interpolation_end'], $this->code, $match, 0, $this->cursor)) {
             array_pop($this->brackets);
             $this->pushToken(Token::INTERPOLATION_END_TYPE);
             $this->moveCursor($match[0]);
diff --git a/vendor/twig/twig/src/Loader/FilesystemLoader.php b/vendor/twig/twig/src/Loader/FilesystemLoader.php
index c30b41a1bc567789d78c8e0c45e3229c32b6df4b..ae9c979a7661337d053c8ad47486d7d43fcd0e3c 100644
--- a/vendor/twig/twig/src/Loader/FilesystemLoader.php
+++ b/vendor/twig/twig/src/Loader/FilesystemLoader.php
@@ -171,7 +171,7 @@ public function exists($name)
 
         try {
             return false !== $this->findTemplate($name, false);
-        } catch (LoaderError $exception) {
+        } catch (LoaderError $e) {
             @trigger_error(sprintf('In %s::findTemplate(), you must accept a second argument that when set to "false" returns "false" instead of throwing an exception. Not supporting this argument is deprecated since version 1.27.', \get_class($this)), E_USER_DEPRECATED);
 
             return false;
diff --git a/vendor/twig/twig/src/Node/CheckToStringNode.php b/vendor/twig/twig/src/Node/CheckToStringNode.php
index 464c96fbae84596cab8b5cd942247c5cfffe43a2..5d67467916eef2a34f76180701505f2b6e17a4b9 100644
--- a/vendor/twig/twig/src/Node/CheckToStringNode.php
+++ b/vendor/twig/twig/src/Node/CheckToStringNode.php
@@ -24,7 +24,7 @@
  *
  * @author Fabien Potencier <fabien@symfony.com>
  */
-class CheckToStringNode extends Node
+class CheckToStringNode extends AbstractExpression
 {
     public function __construct(AbstractExpression $expr)
     {
diff --git a/vendor/twig/twig/src/Node/Expression/CallExpression.php b/vendor/twig/twig/src/Node/Expression/CallExpression.php
index 162393bdfa6fe7aeafdbc6a45993fcc9e1a83f40..d202a739532c40ca88726c298a4b5f104e9f29d5 100644
--- a/vendor/twig/twig/src/Node/Expression/CallExpression.php
+++ b/vendor/twig/twig/src/Node/Expression/CallExpression.php
@@ -121,7 +121,7 @@ protected function getArguments($callable, $arguments)
                 $named = true;
                 $name = $this->normalizeName($name);
             } elseif ($named) {
-                throw new SyntaxError(sprintf('Positional arguments cannot be used after named arguments for %s "%s".', $callType, $callName), $this->getTemplateLine(), null, null, false);
+                throw new SyntaxError(sprintf('Positional arguments cannot be used after named arguments for %s "%s".', $callType, $callName), $this->getTemplateLine(), $this->getSourceContext());
             }
 
             $parameters[$name] = $node;
@@ -153,14 +153,14 @@ protected function getArguments($callable, $arguments)
 
             if (\array_key_exists($name, $parameters)) {
                 if (\array_key_exists($pos, $parameters)) {
-                    throw new SyntaxError(sprintf('Argument "%s" is defined twice for %s "%s".', $name, $callType, $callName), $this->getTemplateLine(), null, null, false);
+                    throw new SyntaxError(sprintf('Argument "%s" is defined twice for %s "%s".', $name, $callType, $callName), $this->getTemplateLine(), $this->getSourceContext());
                 }
 
                 if (\count($missingArguments)) {
                     throw new SyntaxError(sprintf(
                         'Argument "%s" could not be assigned for %s "%s(%s)" because it is mapped to an internal PHP function which cannot determine default value for optional argument%s "%s".',
                         $name, $callType, $callName, implode(', ', $names), \count($missingArguments) > 1 ? 's' : '', implode('", "', $missingArguments)
-                    ), $this->getTemplateLine(), null, null, false);
+                    ), $this->getTemplateLine(), $this->getSourceContext());
                 }
 
                 $arguments = array_merge($arguments, $optionalArguments);
@@ -182,7 +182,7 @@ protected function getArguments($callable, $arguments)
                     $missingArguments[] = $name;
                 }
             } else {
-                throw new SyntaxError(sprintf('Value for argument "%s" is required for %s "%s".', $name, $callType, $callName), $this->getTemplateLine(), null, null, false);
+                throw new SyntaxError(sprintf('Value for argument "%s" is required for %s "%s".', $name, $callType, $callName), $this->getTemplateLine(), $this->getSourceContext());
             }
         }
 
@@ -212,10 +212,14 @@ protected function getArguments($callable, $arguments)
                 }
             }
 
-            throw new SyntaxError(sprintf(
-                'Unknown argument%s "%s" for %s "%s(%s)".',
-                \count($parameters) > 1 ? 's' : '', implode('", "', array_keys($parameters)), $callType, $callName, implode(', ', $names)
-            ), $unknownParameter ? $unknownParameter->getTemplateLine() : $this->getTemplateLine(), null, null, false);
+            throw new SyntaxError(
+                sprintf(
+                    'Unknown argument%s "%s" for %s "%s(%s)".',
+                    \count($parameters) > 1 ? 's' : '', implode('", "', array_keys($parameters)), $callType, $callName, implode(', ', $names)
+                ),
+                $unknownParameter ? $unknownParameter->getTemplateLine() : $this->getTemplateLine(),
+                $unknownParameter ? $unknownParameter->getSourceContext() : $this->getSourceContext()
+            );
         }
 
         return $arguments;
diff --git a/vendor/twig/twig/src/Node/Expression/InlinePrint.php b/vendor/twig/twig/src/Node/Expression/InlinePrint.php
new file mode 100644
index 0000000000000000000000000000000000000000..469e73675a43f02bb4d988d4bea44eb880caf23e
--- /dev/null
+++ b/vendor/twig/twig/src/Node/Expression/InlinePrint.php
@@ -0,0 +1,35 @@
+<?php
+
+/*
+ * This file is part of Twig.
+ *
+ * (c) Fabien Potencier
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Twig\Node\Expression;
+
+use Twig\Compiler;
+use Twig\Node\Node;
+
+/**
+ * @internal
+ */
+final class InlinePrint extends AbstractExpression
+{
+    public function __construct(Node $node, $lineno)
+    {
+        parent::__construct(['node' => $node], [], $lineno);
+    }
+
+    public function compile(Compiler $compiler)
+    {
+        $compiler
+            ->raw('print (')
+            ->subcompile($this->getNode('node'))
+            ->raw(')')
+        ;
+    }
+}
diff --git a/vendor/twig/twig/src/Node/Expression/Test/DefinedTest.php b/vendor/twig/twig/src/Node/Expression/Test/DefinedTest.php
index 6197fb93caebd8c8edcaf1ee4016ff401cf551aa..2222e11cfda784e15532246ee5e82056ee87b1aa 100644
--- a/vendor/twig/twig/src/Node/Expression/Test/DefinedTest.php
+++ b/vendor/twig/twig/src/Node/Expression/Test/DefinedTest.php
@@ -47,7 +47,7 @@ public function __construct(\Twig_NodeInterface $node, $name, \Twig_NodeInterfac
         } elseif ($node instanceof ConstantExpression || $node instanceof ArrayExpression) {
             $node = new ConstantExpression(true, $node->getTemplateLine());
         } else {
-            throw new SyntaxError('The "defined" test only works with simple variables.', $this->getTemplateLine(), null, null, false);
+            throw new SyntaxError('The "defined" test only works with simple variables.', $lineno);
         }
 
         parent::__construct($node, $name, $arguments, $lineno);
diff --git a/vendor/twig/twig/src/Node/IncludeNode.php b/vendor/twig/twig/src/Node/IncludeNode.php
index 524ddef23e988f8f52984a7bfaf471a5b4ceb42c..544db81eaf39c8ff9b470fa6ca5cd577afbac9d0 100644
--- a/vendor/twig/twig/src/Node/IncludeNode.php
+++ b/vendor/twig/twig/src/Node/IncludeNode.php
@@ -37,43 +37,54 @@ public function compile(Compiler $compiler)
         $compiler->addDebugInfo($this);
 
         if ($this->getAttribute('ignore_missing')) {
+            $template = $compiler->getVarName();
+
             $compiler
+                ->write(sprintf("$%s = null;\n", $template))
                 ->write("try {\n")
                 ->indent()
+                ->write(sprintf('$%s = ', $template))
             ;
-        }
-
-        $this->addGetTemplate($compiler);
 
-        $compiler->raw('->display(');
+            $this->addGetTemplate($compiler);
 
-        $this->addTemplateArguments($compiler);
-
-        $compiler->raw(");\n");
-
-        if ($this->getAttribute('ignore_missing')) {
             $compiler
+                ->raw(";\n")
                 ->outdent()
                 ->write("} catch (LoaderError \$e) {\n")
                 ->indent()
                 ->write("// ignore missing template\n")
                 ->outdent()
-                ->write("}\n\n")
+                ->write("}\n")
+                ->write(sprintf("if ($%s) {\n", $template))
+                ->indent()
+                ->write(sprintf('$%s->display(', $template))
             ;
+            $this->addTemplateArguments($compiler);
+            $compiler
+                ->raw(");\n")
+                ->outdent()
+                ->write("}\n")
+            ;
+        } else {
+            $this->addGetTemplate($compiler);
+            $compiler->raw('->display(');
+            $this->addTemplateArguments($compiler);
+            $compiler->raw(");\n");
         }
     }
 
     protected function addGetTemplate(Compiler $compiler)
     {
         $compiler
-             ->write('$this->loadTemplate(')
-             ->subcompile($this->getNode('expr'))
-             ->raw(', ')
-             ->repr($this->getTemplateName())
-             ->raw(', ')
-             ->repr($this->getTemplateLine())
-             ->raw(')')
-         ;
+            ->write('$this->loadTemplate(')
+            ->subcompile($this->getNode('expr'))
+            ->raw(', ')
+            ->repr($this->getTemplateName())
+            ->raw(', ')
+            ->repr($this->getTemplateLine())
+            ->raw(')')
+        ;
     }
 
     protected function addTemplateArguments(Compiler $compiler)
@@ -82,12 +93,14 @@ protected function addTemplateArguments(Compiler $compiler)
             $compiler->raw(false === $this->getAttribute('only') ? '$context' : '[]');
         } elseif (false === $this->getAttribute('only')) {
             $compiler
-                ->raw('array_merge($context, ')
+                ->raw('twig_array_merge($context, ')
                 ->subcompile($this->getNode('variables'))
                 ->raw(')')
             ;
         } else {
+            $compiler->raw('twig_to_array(');
             $compiler->subcompile($this->getNode('variables'));
+            $compiler->raw(')');
         }
     }
 }
diff --git a/vendor/twig/twig/src/Node/MacroNode.php b/vendor/twig/twig/src/Node/MacroNode.php
index 31f4baa7a49aca5b99f534c818878177b18ebb85..8e3cc76a31e03800d0b203101bf5e652c468aa3d 100644
--- a/vendor/twig/twig/src/Node/MacroNode.php
+++ b/vendor/twig/twig/src/Node/MacroNode.php
@@ -27,7 +27,7 @@ public function __construct($name, \Twig_NodeInterface $body, \Twig_NodeInterfac
     {
         foreach ($arguments as $argumentName => $argument) {
             if (self::VARARGS_NAME === $argumentName) {
-                throw new SyntaxError(sprintf('The argument "%s" in macro "%s" cannot be defined because the variable "%s" is reserved for arbitrary arguments.', self::VARARGS_NAME, $name, self::VARARGS_NAME), $argument->getTemplateLine(), null, null, false);
+                throw new SyntaxError(sprintf('The argument "%s" in macro "%s" cannot be defined because the variable "%s" is reserved for arbitrary arguments.', self::VARARGS_NAME, $name, self::VARARGS_NAME), $argument->getTemplateLine(), $argument->getSourceContext());
             }
         }
 
diff --git a/vendor/twig/twig/src/Node/ModuleNode.php b/vendor/twig/twig/src/Node/ModuleNode.php
index 2eb0d49dc0f7ffdd3742bd48cf7441fe7168ec54..aab2aa33f2d166ddb1c155af578c599977baac8a 100644
--- a/vendor/twig/twig/src/Node/ModuleNode.php
+++ b/vendor/twig/twig/src/Node/ModuleNode.php
@@ -28,15 +28,13 @@
  */
 class ModuleNode extends Node
 {
-    private $source;
-
     public function __construct(\Twig_NodeInterface $body, AbstractExpression $parent = null, \Twig_NodeInterface $blocks, \Twig_NodeInterface $macros, \Twig_NodeInterface $traits, $embeddedTemplates, $name, $source = '')
     {
         if (!$name instanceof Source) {
             @trigger_error(sprintf('Passing a string as the $name argument of %s() is deprecated since version 1.27. Pass a \Twig\Source instance instead.', __METHOD__), E_USER_DEPRECATED);
-            $this->source = new Source($source, $name);
+            $source = new Source($source, $name);
         } else {
-            $this->source = $name;
+            $source = $name;
         }
 
         $nodes = [
@@ -57,15 +55,16 @@ public function __construct(\Twig_NodeInterface $body, AbstractExpression $paren
         // embedded templates are set as attributes so that they are only visited once by the visitors
         parent::__construct($nodes, [
             // source to be remove in 2.0
-            'source' => $this->source->getCode(),
+            'source' => $source->getCode(),
             // filename to be remove in 2.0 (use getTemplateName() instead)
-            'filename' => $this->source->getName(),
+            'filename' => $source->getName(),
             'index' => null,
             'embedded_templates' => $embeddedTemplates,
         ], 1);
 
         // populate the template name of all node children
-        $this->setTemplateName($this->source->getName());
+        $this->setTemplateName($source->getName());
+        $this->setSourceContext($source);
     }
 
     public function setIndex($index)
@@ -143,7 +142,7 @@ protected function compileGetParent(Compiler $compiler)
                 ->raw('$this->loadTemplate(')
                 ->subcompile($parent)
                 ->raw(', ')
-                ->repr($this->source->getName())
+                ->repr($this->getSourceContext()->getName())
                 ->raw(', ')
                 ->repr($parent->getTemplateLine())
                 ->raw(')')
@@ -178,8 +177,8 @@ protected function compileClassHeader(Compiler $compiler)
         }
         $compiler
             // if the template name contains */, add a blank to avoid a PHP parse error
-            ->write('/* '.str_replace('*/', '* /', $this->source->getName())." */\n")
-            ->write('class '.$compiler->getEnvironment()->getTemplateClass($this->source->getName(), $this->getAttribute('index')))
+            ->write('/* '.str_replace('*/', '* /', $this->getSourceContext()->getName())." */\n")
+            ->write('class '.$compiler->getEnvironment()->getTemplateClass($this->getSourceContext()->getName(), $this->getAttribute('index')))
             ->raw(sprintf(" extends %s\n", $compiler->getEnvironment()->getBaseTemplateClass()))
             ->write("{\n")
             ->indent()
@@ -198,17 +197,6 @@ protected function compileConstructor(Compiler $compiler)
         // parent
         if (!$this->hasNode('parent')) {
             $compiler->write("\$this->parent = false;\n\n");
-        } elseif (($parent = $this->getNode('parent')) && $parent instanceof ConstantExpression) {
-            $compiler
-                ->addDebugInfo($parent)
-                ->write('$this->parent = $this->loadTemplate(')
-                ->subcompile($parent)
-                ->raw(', ')
-                ->repr($this->source->getName())
-                ->raw(', ')
-                ->repr($parent->getTemplateLine())
-                ->raw(");\n")
-            ;
         }
 
         $countTraits = \count($this->getNode('traits'));
@@ -217,13 +205,16 @@ protected function compileConstructor(Compiler $compiler)
             foreach ($this->getNode('traits') as $i => $trait) {
                 $this->compileLoadTemplate($compiler, $trait->getNode('template'), sprintf('$_trait_%s', $i));
 
+                $node = $trait->getNode('template');
                 $compiler
-                    ->addDebugInfo($trait->getNode('template'))
+                    ->addDebugInfo($node)
                     ->write(sprintf("if (!\$_trait_%s->isTraitable()) {\n", $i))
                     ->indent()
                     ->write("throw new RuntimeError('Template \"'.")
                     ->subcompile($trait->getNode('template'))
-                    ->raw(".'\" cannot be used as a trait.');\n")
+                    ->raw(".'\" cannot be used as a trait.', ")
+                    ->repr($node->getTemplateLine())
+                    ->raw(", \$this->getSourceContext());\n")
                     ->outdent()
                     ->write("}\n")
                     ->write(sprintf("\$_trait_%s_blocks = \$_trait_%s->getBlocks();\n\n", $i, $i))
@@ -239,7 +230,9 @@ protected function compileConstructor(Compiler $compiler)
                         ->string($key)
                         ->raw(' is not defined in trait ')
                         ->subcompile($trait->getNode('template'))
-                        ->raw(".'));\n")
+                        ->raw(".'), ")
+                        ->repr($node->getTemplateLine())
+                        ->raw(", \$this->getSourceContext());\n")
                         ->outdent()
                         ->write("}\n\n")
 
@@ -331,8 +324,18 @@ protected function compileDisplay(Compiler $compiler)
 
         if ($this->hasNode('parent')) {
             $parent = $this->getNode('parent');
+
             $compiler->addDebugInfo($parent);
             if ($parent instanceof ConstantExpression) {
+                $compiler
+                    ->write('$this->parent = $this->loadTemplate(')
+                    ->subcompile($parent)
+                    ->raw(', ')
+                    ->repr($this->getSourceContext()->getName())
+                    ->raw(', ')
+                    ->repr($parent->getTemplateLine())
+                    ->raw(");\n")
+                ;
                 $compiler->write('$this->parent');
             } else {
                 $compiler->write('$this->getParent($context)');
@@ -367,7 +370,7 @@ protected function compileGetTemplateName(Compiler $compiler)
             ->write("public function getTemplateName()\n", "{\n")
             ->indent()
             ->write('return ')
-            ->repr($this->source->getName())
+            ->repr($this->getSourceContext()->getName())
             ->raw(";\n")
             ->outdent()
             ->write("}\n\n")
@@ -457,11 +460,11 @@ protected function compileGetSourceContext(Compiler $compiler)
             ->write("public function getSourceContext()\n", "{\n")
             ->indent()
             ->write('return new Source(')
-            ->string($compiler->getEnvironment()->isDebug() ? $this->source->getCode() : '')
+            ->string($compiler->getEnvironment()->isDebug() ? $this->getSourceContext()->getCode() : '')
             ->raw(', ')
-            ->string($this->source->getName())
+            ->string($this->getSourceContext()->getName())
             ->raw(', ')
-            ->string($this->source->getPath())
+            ->string($this->getSourceContext()->getPath())
             ->raw(");\n")
             ->outdent()
             ->write("}\n")
diff --git a/vendor/twig/twig/src/Node/Node.php b/vendor/twig/twig/src/Node/Node.php
index d60367ff2513d0ab80ad82b375039a39eba08178..5dbe1a5ae3492ee11e0c38e03e765325cdd2c3a7 100644
--- a/vendor/twig/twig/src/Node/Node.php
+++ b/vendor/twig/twig/src/Node/Node.php
@@ -13,6 +13,7 @@
 namespace Twig\Node;
 
 use Twig\Compiler;
+use Twig\Source;
 
 /**
  * Represents a node in the AST.
@@ -27,13 +28,9 @@ class Node implements \Twig_NodeInterface
     protected $tag;
 
     private $name;
+    private $sourceContext;
 
     /**
-     * Constructor.
-     *
-     * The nodes are automatically made available as properties ($this->node).
-     * The attributes are automatically made available as array items ($this['name']).
-     *
      * @param array  $nodes      An array of named nodes
      * @param array  $attributes An array of attributes (should not be nodes)
      * @param int    $lineno     The line number
@@ -235,6 +232,21 @@ public function getTemplateName()
         return $this->name;
     }
 
+    public function setSourceContext(Source $source)
+    {
+        $this->sourceContext = $source;
+        foreach ($this->nodes as $node) {
+            if ($node instanceof Node) {
+                $node->setSourceContext($source);
+            }
+        }
+    }
+
+    public function getSourceContext()
+    {
+        return $this->sourceContext;
+    }
+
     /**
      * @deprecated since 1.27 (to be removed in 2.0)
      */
diff --git a/vendor/twig/twig/src/Node/WithNode.php b/vendor/twig/twig/src/Node/WithNode.php
index 77364ac51083233aacebfd7ad89bd6028bbbbd9b..f5ae9246ddc0a529440d0697a539c4d07d49f376 100644
--- a/vendor/twig/twig/src/Node/WithNode.php
+++ b/vendor/twig/twig/src/Node/WithNode.php
@@ -35,16 +35,20 @@ public function compile(Compiler $compiler)
         $compiler->addDebugInfo($this);
 
         if ($this->hasNode('variables')) {
+            $node = $this->getNode('variables');
             $varsName = $compiler->getVarName();
             $compiler
                 ->write(sprintf('$%s = ', $varsName))
-                ->subcompile($this->getNode('variables'))
+                ->subcompile($node)
                 ->raw(";\n")
-                ->write(sprintf("if (!is_array(\$%s)) {\n", $varsName))
+                ->write(sprintf("if (!twig_test_iterable(\$%s)) {\n", $varsName))
                 ->indent()
-                ->write("throw new RuntimeError('Variables passed to the \"with\" tag must be a hash.');\n")
+                ->write("throw new RuntimeError('Variables passed to the \"with\" tag must be a hash.', ")
+                ->repr($node->getTemplateLine())
+                ->raw(", \$this->getSourceContext());\n")
                 ->outdent()
                 ->write("}\n")
+                ->write(sprintf("\$%s = twig_to_array(\$%s);\n", $varsName, $varsName))
             ;
 
             if ($this->getAttribute('only')) {
@@ -53,7 +57,7 @@ public function compile(Compiler $compiler)
                 $compiler->write("\$context['_parent'] = \$context;\n");
             }
 
-            $compiler->write(sprintf("\$context = array_merge(\$context, \$%s);\n", $varsName));
+            $compiler->write(sprintf("\$context = \$this->env->mergeGlobals(array_merge(\$context, \$%s));\n", $varsName));
         } else {
             $compiler->write("\$context['_parent'] = \$context;\n");
         }
diff --git a/vendor/twig/twig/src/NodeVisitor/EscaperNodeVisitor.php b/vendor/twig/twig/src/NodeVisitor/EscaperNodeVisitor.php
index 959108f0571b010a3fb99295c5f145020ab08d21..f6e16fa7d77c5ef3777258f7daaf7f5d5371aed8 100644
--- a/vendor/twig/twig/src/NodeVisitor/EscaperNodeVisitor.php
+++ b/vendor/twig/twig/src/NodeVisitor/EscaperNodeVisitor.php
@@ -15,8 +15,11 @@
 use Twig\Node\AutoEscapeNode;
 use Twig\Node\BlockNode;
 use Twig\Node\BlockReferenceNode;
+use Twig\Node\DoNode;
+use Twig\Node\Expression\ConditionalExpression;
 use Twig\Node\Expression\ConstantExpression;
 use Twig\Node\Expression\FilterExpression;
+use Twig\Node\Expression\InlinePrint;
 use Twig\Node\ImportNode;
 use Twig\Node\ModuleNode;
 use Twig\Node\Node;
@@ -69,8 +72,13 @@ protected function doLeaveNode(Node $node, Environment $env)
             $this->blocks = [];
         } elseif ($node instanceof FilterExpression) {
             return $this->preEscapeFilterNode($node, $env);
-        } elseif ($node instanceof PrintNode) {
-            return $this->escapePrintNode($node, $env, $this->needEscaping($env));
+        } elseif ($node instanceof PrintNode && false !== $type = $this->needEscaping($env)) {
+            $expression = $node->getNode('expr');
+            if ($expression instanceof ConditionalExpression && $this->shouldUnwrapConditional($expression, $env, $type)) {
+                return new DoNode($this->unwrapConditional($expression, $env, $type), $expression->getTemplateLine());
+            }
+
+            return $this->escapePrintNode($node, $env, $type);
         }
 
         if ($node instanceof AutoEscapeNode || $node instanceof BlockNode) {
@@ -82,6 +90,44 @@ protected function doLeaveNode(Node $node, Environment $env)
         return $node;
     }
 
+    private function shouldUnwrapConditional(ConditionalExpression $expression, Environment $env, $type)
+    {
+        $expr2Safe = $this->isSafeFor($type, $expression->getNode('expr2'), $env);
+        $expr3Safe = $this->isSafeFor($type, $expression->getNode('expr3'), $env);
+
+        return $expr2Safe !== $expr3Safe;
+    }
+
+    private function unwrapConditional(ConditionalExpression $expression, Environment $env, $type)
+    {
+        // convert "echo a ? b : c" to "a ? echo b : echo c" recursively
+        $expr2 = $expression->getNode('expr2');
+        if ($expr2 instanceof ConditionalExpression && $this->shouldUnwrapConditional($expr2, $env, $type)) {
+            $expr2 = $this->unwrapConditional($expr2, $env, $type);
+        } else {
+            $expr2 = $this->escapeInlinePrintNode(new InlinePrint($expr2, $expr2->getTemplateLine()), $env, $type);
+        }
+        $expr3 = $expression->getNode('expr3');
+        if ($expr3 instanceof ConditionalExpression && $this->shouldUnwrapConditional($expr3, $env, $type)) {
+            $expr3 = $this->unwrapConditional($expr3, $env, $type);
+        } else {
+            $expr3 = $this->escapeInlinePrintNode(new InlinePrint($expr3, $expr3->getTemplateLine()), $env, $type);
+        }
+
+        return new ConditionalExpression($expression->getNode('expr1'), $expr2, $expr3, $expression->getTemplateLine());
+    }
+
+    private function escapeInlinePrintNode(InlinePrint $node, Environment $env, $type)
+    {
+        $expression = $node->getNode('node');
+
+        if ($this->isSafeFor($type, $expression, $env)) {
+            return $node;
+        }
+
+        return new InlinePrint($this->getEscaperFilter($type, $expression), $node->getTemplateLine());
+    }
+
     protected function escapePrintNode(PrintNode $node, Environment $env, $type)
     {
         if (false === $type) {
@@ -96,10 +142,7 @@ protected function escapePrintNode(PrintNode $node, Environment $env, $type)
 
         $class = \get_class($node);
 
-        return new $class(
-            $this->getEscaperFilter($type, $expression),
-            $node->getTemplateLine()
-        );
+        return new $class($this->getEscaperFilter($type, $expression), $node->getTemplateLine());
     }
 
     protected function preEscapeFilterNode(FilterExpression $filter, Environment $env)
diff --git a/vendor/twig/twig/src/Profiler/Profile.php b/vendor/twig/twig/src/Profiler/Profile.php
index f33963b31fdbd00acc89dcbbd0f5da4cf578ff1e..4d8ba3efd51736b10cb4192930d2fc2b873077a0 100644
--- a/vendor/twig/twig/src/Profiler/Profile.php
+++ b/vendor/twig/twig/src/Profiler/Profile.php
@@ -160,12 +160,28 @@ public function getIterator()
 
     public function serialize()
     {
-        return serialize([$this->template, $this->name, $this->type, $this->starts, $this->ends, $this->profiles]);
+        return serialize($this->__serialize());
     }
 
     public function unserialize($data)
     {
-        list($this->template, $this->name, $this->type, $this->starts, $this->ends, $this->profiles) = unserialize($data);
+        $this->__unserialize(unserialize($data));
+    }
+
+    /**
+     * @internal
+     */
+    public function __serialize()
+    {
+        return [$this->template, $this->name, $this->type, $this->starts, $this->ends, $this->profiles];
+    }
+
+    /**
+     * @internal
+     */
+    public function __unserialize(array $data)
+    {
+        list($this->template, $this->name, $this->type, $this->starts, $this->ends, $this->profiles) = $data;
     }
 }
 
diff --git a/vendor/twig/twig/src/Sandbox/SecurityPolicy.php b/vendor/twig/twig/src/Sandbox/SecurityPolicy.php
index c6f7465c465da9a96fb41a86e86ec01b77ea418f..31b6c34833230b7c8a54d0ac16e6b642ad8939aa 100644
--- a/vendor/twig/twig/src/Sandbox/SecurityPolicy.php
+++ b/vendor/twig/twig/src/Sandbox/SecurityPolicy.php
@@ -89,7 +89,7 @@ public function checkSecurity($tags, $filters, $functions)
     public function checkMethodAllowed($obj, $method)
     {
         if ($obj instanceof \Twig_TemplateInterface || $obj instanceof Markup) {
-            return true;
+            return;
         }
 
         $allowed = false;
diff --git a/vendor/twig/twig/src/Template.php b/vendor/twig/twig/src/Template.php
index 8889c024dd88df78126a75defb3de63b302ee587..e2146c2802915e3a50c0c0300dcd2d95d58fd625 100644
--- a/vendor/twig/twig/src/Template.php
+++ b/vendor/twig/twig/src/Template.php
@@ -227,7 +227,10 @@ public function displayBlock($name, array $context, array $blocks = [], $useBloc
 
                 throw $e;
             } catch (\Exception $e) {
-                throw new RuntimeError(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $template->getSourceContext(), $e);
+                $e = new RuntimeError(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $template->getSourceContext(), $e);
+                $e->guess();
+
+                throw $e;
             }
         } elseif (false !== $parent = $this->getParent($context)) {
             $parent->displayBlock($name, $context, array_merge($this->blocks, $blocks), false);
@@ -352,7 +355,7 @@ protected function loadTemplate($template, $templateName = null, $line = null, $
             }
 
             if ($template === $this->getTemplateName()) {
-                $class = get_class($this);
+                $class = \get_class($this);
                 if (false !== $pos = strrpos($class, '___', -1)) {
                     $class = substr($class, 0, $pos);
                 }
@@ -438,7 +441,10 @@ protected function displayWithErrorHandling(array $context, array $blocks = [])
 
             throw $e;
         } catch (\Exception $e) {
-            throw new RuntimeError(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $this->getSourceContext(), $e);
+            $e = new RuntimeError(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $this->getSourceContext(), $e);
+            $e->guess();
+
+            throw $e;
         }
     }
 
diff --git a/vendor/twig/twig/src/Test/IntegrationTestCase.php b/vendor/twig/twig/src/Test/IntegrationTestCase.php
index d1b633ab94798b0223681f7a6da93c8f77331fea..36b36075867cb7f869ad1f3585a181abb1314f62 100644
--- a/vendor/twig/twig/src/Test/IntegrationTestCase.php
+++ b/vendor/twig/twig/src/Test/IntegrationTestCase.php
@@ -194,7 +194,7 @@ protected function doIntegrationTest($file, $message, $condition, $templates, $e
                     $message = $e->getMessage();
                     $this->assertSame(trim($exception), trim(sprintf('%s: %s', \get_class($e), $message)));
                     $last = substr($message, \strlen($message) - 1);
-                    $this->assertTrue('.' === $last || '?' === $last, $message, 'Exception message must end with a dot or a question mark.');
+                    $this->assertTrue('.' === $last || '?' === $last, 'Exception message must end with a dot or a question mark.');
 
                     return;
                 }
diff --git a/vendor/twig/twig/src/Test/NodeTestCase.php b/vendor/twig/twig/src/Test/NodeTestCase.php
index b35cd21853c201d2578f011b4537ea2f8b9b574a..f3358cb9a363d848b3756b465813775741982c7e 100644
--- a/vendor/twig/twig/src/Test/NodeTestCase.php
+++ b/vendor/twig/twig/src/Test/NodeTestCase.php
@@ -56,7 +56,7 @@ protected function getVariableGetter($name, $line = false)
         $line = $line > 0 ? "// line {$line}\n" : '';
 
         if (\PHP_VERSION_ID >= 70000) {
-            return sprintf('%s($context["%s"] ?? null)', $line, $name, $name);
+            return sprintf('%s($context["%s"] ?? null)', $line, $name);
         }
 
         if (\PHP_VERSION_ID >= 50400) {
diff --git a/vendor/twig/twig/test/Twig/Tests/EnvironmentTest.php b/vendor/twig/twig/test/Twig/Tests/EnvironmentTest.php
index d4163efdf2074b27ab5fef35f529f1ebf4a860f1..88fd15cfae6a78e0a0608fad8bf1e3731927f221 100644
--- a/vendor/twig/twig/test/Twig/Tests/EnvironmentTest.php
+++ b/vendor/twig/twig/test/Twig/Tests/EnvironmentTest.php
@@ -105,7 +105,7 @@ public function testGlobals()
         $twig = new Environment($loader);
         $twig->addGlobal('foo', 'foo');
         $twig->getGlobals();
-        $twig->loadTemplate('index');
+        $twig->load('index');
         $twig->addGlobal('foo', 'bar');
         $globals = $twig->getGlobals();
         $this->assertEquals('bar', $globals['foo']);
@@ -125,7 +125,7 @@ public function testGlobals()
         $twig->addGlobal('foo', 'foo');
         $twig->getGlobals();
         $twig->getFunctions();
-        $twig->loadTemplate('index');
+        $twig->load('index');
         $twig->addGlobal('foo', 'bar');
         $globals = $twig->getGlobals();
         $this->assertEquals('bar', $globals['foo']);
@@ -133,7 +133,7 @@ public function testGlobals()
         $twig = new Environment($arrayLoader);
         $twig->getGlobals();
         $twig->addGlobal('foo', 'bar');
-        $template = $twig->loadTemplate('index');
+        $template = $twig->load('index');
         $this->assertEquals('bar', $template->render([]));
 
         /* to be uncomment in Twig 2.0
@@ -141,7 +141,7 @@ public function testGlobals()
         $twig = new Environment($loader);
         $twig->addGlobal('foo', 'foo');
         $twig->getGlobals();
-        $twig->loadTemplate('index');
+        $twig->load('index');
         try {
             $twig->addGlobal('bar', 'bar');
             $this->fail();
@@ -166,7 +166,7 @@ public function testGlobals()
         $twig->addGlobal('foo', 'foo');
         $twig->getGlobals();
         $twig->getFunctions();
-        $twig->loadTemplate('index');
+        $twig->load('index');
         try {
             $twig->addGlobal('bar', 'bar');
             $this->fail();
@@ -176,7 +176,7 @@ public function testGlobals()
 
         // test adding globals after a template has been loaded without call to getGlobals
         $twig = new Environment($loader);
-        $twig->loadTemplate('index');
+        $twig->load('index');
         try {
             $twig->addGlobal('bar', 'bar');
             $this->fail();
@@ -238,7 +238,7 @@ public function testAutoReloadCacheMiss()
         $cache->expects($this->once())
             ->method('load');
 
-        $twig->loadTemplate($templateName);
+        $twig->load($templateName);
     }
 
     public function testAutoReloadCacheHit()
@@ -266,7 +266,7 @@ public function testAutoReloadCacheHit()
         $cache->expects($this->atLeastOnce())
             ->method('load');
 
-        $twig->loadTemplate($templateName);
+        $twig->load($templateName);
     }
 
     public function testAutoReloadOutdatedCacheHit()
@@ -294,7 +294,7 @@ public function testAutoReloadOutdatedCacheHit()
         $cache->expects($this->once())
             ->method('load');
 
-        $twig->loadTemplate($templateName);
+        $twig->load($templateName);
     }
 
     /**
@@ -498,33 +498,6 @@ public function testAddRuntimeLoader()
         $this->assertEquals('foo', $twig->render('func_string_named_args'));
     }
 
-    /**
-     * @expectedException \Twig\Error\RuntimeError
-     * @expectedExceptionMessage Circular reference detected for Twig template "base.html.twig", path: base.html.twig -> base.html.twig in "base.html.twig" at line 1
-     */
-    public function testFailLoadTemplateOnCircularReference()
-    {
-        $twig = new Environment(new ArrayLoader([
-            'base.html.twig' => '{% extends "base.html.twig" %}',
-        ]));
-
-        $twig->loadTemplate('base.html.twig');
-    }
-
-    /**
-     * @expectedException \Twig\Error\RuntimeError
-     * @expectedExceptionMessage Circular reference detected for Twig template "base1.html.twig", path: base1.html.twig -> base2.html.twig -> base1.html.twig in "base1.html.twig" at line 1
-     */
-    public function testFailLoadTemplateOnComplexCircularReference()
-    {
-        $twig = new Environment(new ArrayLoader([
-            'base1.html.twig' => '{% extends "base2.html.twig" %}',
-            'base2.html.twig' => '{% extends "base1.html.twig" %}',
-        ]));
-
-        $twig->loadTemplate('base1.html.twig');
-    }
-
     protected function getMockLoader($templateName, $templateContent)
     {
         // to be removed in 2.0
diff --git a/vendor/twig/twig/test/Twig/Tests/ExpressionParserTest.php b/vendor/twig/twig/test/Twig/Tests/ExpressionParserTest.php
index 1696938071ae4e8e3137e00e66931e039bbd3c15..6a447a99a994bda509803e8d3f8a3b840bada8e5 100644
--- a/vendor/twig/twig/test/Twig/Tests/ExpressionParserTest.php
+++ b/vendor/twig/twig/test/Twig/Tests/ExpressionParserTest.php
@@ -55,8 +55,9 @@ public function getFailingTestsForAssignment()
     public function testArrayExpression($template, $expected)
     {
         $env = new Environment($this->getMockBuilder('\Twig\Loader\LoaderInterface')->getMock(), ['cache' => false, 'autoescape' => false]);
-        $stream = $env->tokenize(new Source($template, ''));
+        $stream = $env->tokenize($source = new Source($template, ''));
         $parser = new Parser($env);
+        $expected->setSourceContext($source);
 
         $this->assertEquals($expected, $parser->parse($stream)->getNode('body')->getNode(0)->getNode('expr'));
     }
@@ -175,8 +176,9 @@ public function testStringExpressionDoesNotConcatenateTwoConsecutiveStrings()
     public function testStringExpression($template, $expected)
     {
         $env = new Environment($this->getMockBuilder('\Twig\Loader\LoaderInterface')->getMock(), ['cache' => false, 'autoescape' => false, 'optimizations' => 0]);
-        $stream = $env->tokenize(new Source($template, ''));
+        $stream = $env->tokenize($source = new Source($template, ''));
         $parser = new Parser($env);
+        $expected->setSourceContext($source);
 
         $this->assertEquals($expected, $parser->parse($stream)->getNode('body')->getNode(0)->getNode('expr'));
     }
diff --git a/vendor/twig/twig/test/Twig/Tests/Extension/SandboxTest.php b/vendor/twig/twig/test/Twig/Tests/Extension/SandboxTest.php
index de9ced0234bd267876baf54cae49e8fa8e767fdd..3420b7eae4439a8c1eeb69ed3074c4eff569c99a 100644
--- a/vendor/twig/twig/test/Twig/Tests/Extension/SandboxTest.php
+++ b/vendor/twig/twig/test/Twig/Tests/Extension/SandboxTest.php
@@ -118,7 +118,7 @@ public function testSandboxUnallowedToString($template)
     {
         $twig = $this->getEnvironment(true, [], ['index' => $template], [], ['upper'], ['FooObject' => 'getAnotherFooObject'], [], ['random']);
         try {
-            $twig->loadTemplate('index')->render(self::$params);
+            $twig->load('index')->render(self::$params);
             $this->fail('Sandbox throws a SecurityError exception if an unallowed method (__toString()) is called in the template');
         } catch (SecurityError $e) {
             $this->assertInstanceOf('\Twig\Sandbox\SecurityNotAllowedMethodError', $e, 'Exception should be an instance of Twig_Sandbox_SecurityNotAllowedMethodError');
diff --git a/vendor/twig/twig/test/Twig/Tests/FileCachingTest.php b/vendor/twig/twig/test/Twig/Tests/FileCachingTest.php
index aa41b8326ee10a79a48af5595992d9a8850ce7bc..fd7a4ebfc4ba02553c0eb1e40939bbef693f1388 100644
--- a/vendor/twig/twig/test/Twig/Tests/FileCachingTest.php
+++ b/vendor/twig/twig/test/Twig/Tests/FileCachingTest.php
@@ -44,7 +44,7 @@ protected function tearDown()
     public function testWritingCacheFiles()
     {
         $name = 'index';
-        $this->env->loadTemplate($name);
+        $this->env->load($name);
         $cacheFileName = $this->env->getCacheFilename($name);
 
         $this->assertFileExists($cacheFileName, 'Cache file does not exist.');
@@ -56,7 +56,7 @@ public function testWritingCacheFiles()
     public function testClearingCacheFiles()
     {
         $name = 'index2';
-        $this->env->loadTemplate($name);
+        $this->env->load($name);
         $cacheFileName = $this->env->getCacheFilename($name);
 
         $this->assertFileExists($cacheFileName, 'Cache file does not exist.');
diff --git a/vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/exception_in_extension_extends.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/exception_in_extension_extends.test
new file mode 100644
index 0000000000000000000000000000000000000000..2ab298059d32122c029bce571693de2722fa2a52
--- /dev/null
+++ b/vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/exception_in_extension_extends.test
@@ -0,0 +1,12 @@
+--TEST--
+Exception thrown from a child for an extension error
+--TEMPLATE--
+{% extends 'base.twig' %}
+--TEMPLATE(base.twig)--
+
+
+{{ random([]) }}
+--DATA--
+return []
+--EXCEPTION--
+Twig\Error\RuntimeError: The random function cannot pick from an empty array in "base.twig" at line 4.
diff --git a/vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/exception_in_extension_include.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/exception_in_extension_include.test
new file mode 100644
index 0000000000000000000000000000000000000000..e2281b2903bd3cbbf26db74282d5d554f813b191
--- /dev/null
+++ b/vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/exception_in_extension_include.test
@@ -0,0 +1,12 @@
+--TEST--
+Exception thrown from an include for an extension error
+--TEMPLATE--
+{% include 'content.twig' %}
+--TEMPLATE(content.twig)--
+
+
+{{ random([]) }}
+--DATA--
+return []
+--EXCEPTION--
+Twig\Error\RuntimeError: The random function cannot pick from an empty array in "content.twig" at line 4.
diff --git a/vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/undefined_parent.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/undefined_parent.test
index 566ee721925bb0c9feccb280cdb5ebabc761ed4c..07f855a3feb650b047d0b21e81ac91db17d59284 100644
--- a/vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/undefined_parent.test
+++ b/vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/undefined_parent.test
@@ -4,5 +4,7 @@ Exception for an undefined parent
 {% extends 'foo.html' %}
 
 {% set foo = "foo" %}
+--DATA--
+return []
 --EXCEPTION--
 Twig\Error\LoaderError: Template "foo.html" is not defined in "index.twig" at line 2.
diff --git a/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/call_argument_defined_twice.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/call_argument_defined_twice.test
new file mode 100644
index 0000000000000000000000000000000000000000..36539a6d1324960aa41d2c13872de5da3f8e22df
--- /dev/null
+++ b/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/call_argument_defined_twice.test
@@ -0,0 +1,8 @@
+--TEST--
+Argument is defined twice in a call
+--TEMPLATE--
+{{ date(987654, date = 123456) }}
+--DATA--
+return []
+--EXCEPTION--
+Twig\Error\SyntaxError: Argument "date" is defined twice for function "date" in "index.twig" at line 2.
diff --git a/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/call_positional_arg_after_named_arg.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/call_positional_arg_after_named_arg.test
new file mode 100644
index 0000000000000000000000000000000000000000..729c6748597bc7e6e40a6452f0c92795770ca2df
--- /dev/null
+++ b/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/call_positional_arg_after_named_arg.test
@@ -0,0 +1,8 @@
+--TEST--
+Positional arguments after named arguments in a call
+--TEMPLATE--
+{{ date(date = 123456, 'Y-m-d') }}
+--DATA--
+return []
+--EXCEPTION--
+Twig\Error\SyntaxError: Positional arguments cannot be used after named arguments for function "date" in "index.twig" at line 2.
diff --git a/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/floats.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/floats.test
index cf563a03200ca20510af67b0c273298a418b59a6..cdf871cde15dbd1ea7bdaf0da4fd6a0ba1c2451e 100644
--- a/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/floats.test
+++ b/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/floats.test
@@ -9,7 +9,7 @@ version_compare(phpversion(), '7.0.0', '>=')
 {{ val2 is same as (0.0) ? 'Yes' : 'No' }}
 {{ val is same as (val2) ? 'Yes' : 'No' }}
 --DATA--
-return array('val' => 0.0)
+return ['val' => 0.0]
 --EXPECT--
 Yes
 Yes
diff --git a/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/length.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/length.test
index 67d2f6ac8c57651b15bc2fea0246967ffd2afc1c..52ad9e8b24491a808daa4b332a7690250e4ead84 100644
--- a/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/length.test
+++ b/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/length.test
@@ -11,6 +11,7 @@
 {{ magic|length }}
 {{ non_countable|length }}
 {{ simple_xml_element|length }}
+{{ iterator|length }}
 --DATA--
 return [
     'array' => [1, 4],
@@ -23,6 +24,7 @@ return [
     'magic'         => new MagicCallStub(),     /* used to assert we do *not* call __call */
     'non_countable' => new \StdClass(),
     'simple_xml_element' => new \SimpleXMLElement('<?xml version="1.0" encoding="UTF-8"?><doc><elem/><elem/></doc>'),
+    'iterator' => new \SimpleIteratorForTesting()
 ]
 --EXPECT--
 2
@@ -35,3 +37,4 @@ return [
 1
 1
 2
+7
diff --git a/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/ignore_missing_exists.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/ignore_missing_exists.test
new file mode 100644
index 0000000000000000000000000000000000000000..fc2d211ad8614aaba958767138bd275931f7f5e1
--- /dev/null
+++ b/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/ignore_missing_exists.test
@@ -0,0 +1,11 @@
+--TEST--
+"include" function
+--TEMPLATE--
+{{ include("included.twig", ignore_missing = true) }}
+NOT DISPLAYED
+--TEMPLATE(included.twig)--
+{{ include("DOES NOT EXIST") }}
+--DATA--
+return []
+--EXCEPTION--
+Twig\Error\LoaderError: Template "DOES NOT EXIST" is not defined in "included.twig" at line 2.
diff --git a/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/include_missing_extends.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/include_missing_extends.test
new file mode 100644
index 0000000000000000000000000000000000000000..810ae8248000c20fc6a6a6bac58512eadfdecf70
--- /dev/null
+++ b/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/include_missing_extends.test
@@ -0,0 +1,13 @@
+--TEST--
+"include" function
+--TEMPLATE--
+{{ include(['bad.twig', 'good.twig'], ignore_missing = true) }}
+NOT DISPLAYED
+--TEMPLATE(bad.twig)--
+{% extends 'DOES NOT EXIST' %}
+--TEMPLATE(good.twig)--
+NOT DISPLAYED
+--DATA--
+return []
+--EXCEPTION--
+Twig\Error\LoaderError: Template "DOES NOT EXIST" is not defined in "bad.twig" at line 2.
diff --git a/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/template_from_string_error.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/template_from_string_error.test
new file mode 100644
index 0000000000000000000000000000000000000000..900d238bd2bc8f8a584a3ea9e297c0fe6d8d3ad5
--- /dev/null
+++ b/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/template_from_string_error.test
@@ -0,0 +1,8 @@
+--TEST--
+"template_from_string" function
+--TEMPLATE--
+{% include template_from_string("{{ not a Twig template ", "foo.twig") %}
+--DATA--
+return []
+--EXCEPTION--
+Twig\Error\SyntaxError: Unclosed "variable" in "foo.twig (string template 4900163d56b1af4b704c6b0afee7f98ba53418ce7a93d37a3af1882735baf9cd)" at line 1.
diff --git a/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/literal.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/literal.test
index 1ed2bf35a3b3b33f3f702007822c8792e75cf55c..3d8d4f8fdd2598ba829beaf7358255a12504208a 100644
--- a/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/literal.test
+++ b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/literal.test
@@ -11,19 +11,40 @@
 
 3. Conditional expression with a variable
 {{ true ? "<br />" : someVar }}
+{{ false ? "<br />" : someVar }}
+{{ true ? someVar : "<br />" }}
+{{ false ? someVar : "<br />" }}
 
 4. Nested conditionals with only literals
 {{ true ? (true ? "<br />" : "<br>") : "\n" }}
 
 5. Nested conditionals with a variable
 {{ true ? (true ? "<br />" : someVar) : "\n" }}
+{{ true ? (false ? "<br />" : someVar) : "\n" }}
+{{ true ? (true ? someVar : "<br />") : "\n" }}
+{{ true ? (false ? someVar : "<br />") : "\n" }}
+{{ false ? "\n" : (true ? someVar : "<br />") }}
+{{ false ? "\n" : (false ? someVar : "<br />") }}
 
 6. Nested conditionals with a variable marked safe
 {{ true ? (true ? "<br />" : someVar|raw) : "\n" }}
+{{ true ? (false ? "<br />" : someVar|raw) : "\n" }}
+{{ true ? (true ? someVar|raw : "<br />") : "\n" }}
+{{ true ? (false ? someVar|raw : "<br />") : "\n" }}
+{{ false ? "\n" : (true ? someVar|raw : "<br />") }}
+{{ false ? "\n" : (false ? someVar|raw : "<br />") }}
+
+7. Without then clause
+{{ "<br />" ?: someVar }}
+{{ someFalseVar ?: "<br />" }}
+
+8. NullCoalesce
+{{ aaaa ?? "<br />" }}
+{{ "<br />" ?? someVar }}
 
 {% endautoescape %}
 --DATA--
-return []
+return ['someVar' => '<br />', 'someFalseVar' => false]
 --EXPECT--
 
 1. Simple literal
@@ -33,13 +54,34 @@ return []
 <br />
 
 3. Conditional expression with a variable
+<br />
 &lt;br /&gt;
+&lt;br /&gt;
+<br />
 
 4. Nested conditionals with only literals
 <br />
 
 5. Nested conditionals with a variable
+<br />
 &lt;br /&gt;
+&lt;br /&gt;
+<br />
+&lt;br /&gt;
+<br />
 
 6. Nested conditionals with a variable marked safe
 <br />
+<br />
+<br />
+<br />
+<br />
+<br />
+
+7. Without then clause
+<br />
+<br />
+
+8. NullCoalesce
+<br />
+<br />
diff --git a/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/ignore_missing_exists.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/ignore_missing_exists.test
new file mode 100644
index 0000000000000000000000000000000000000000..1af012210e4dac336bf13c4709f314e29bdd6f2e
--- /dev/null
+++ b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/ignore_missing_exists.test
@@ -0,0 +1,11 @@
+--TEST--
+"include" tag
+--TEMPLATE--
+{% include "included.twig" ignore missing %}
+NOT DISPLAYED
+--TEMPLATE(included.twig)--
+{% include "DOES NOT EXIST" %}
+--DATA--
+return []
+--EXCEPTION--
+Twig\Error\LoaderError: Template "DOES NOT EXIST" is not defined in "included.twig" at line 2.
diff --git a/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/include_missing_extends.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/include_missing_extends.test
new file mode 100644
index 0000000000000000000000000000000000000000..d0d1bfe5907a0ef5c7d1f5480e70402085c073de
--- /dev/null
+++ b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/include_missing_extends.test
@@ -0,0 +1,13 @@
+--TEST--
+"include" tag
+--TEMPLATE--
+{% include ['bad.twig', 'good.twig'] ignore missing %}
+NOT DISPLAYED
+--TEMPLATE(bad.twig)--
+{% extends 'DOES NOT EXIST' %}
+--TEMPLATE(good.twig)--
+NOT DISPLAYED
+--DATA--
+return []
+--EXCEPTION--
+Twig\Error\LoaderError: Template "DOES NOT EXIST" is not defined in "bad.twig" at line 2.
diff --git a/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/only.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/only.test
index d595f8061be9202e0c14029f866e4a6eb6714ace..8da402f7a83e32d07e6c5f5add9c6987bf91bcba 100644
--- a/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/only.test
+++ b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/only.test
@@ -3,14 +3,18 @@
 --TEMPLATE--
 {% include "foo.twig" %}
 {% include "foo.twig" only %}
-{% include "foo.twig" with {'foo1': 'bar'} %}
-{% include "foo.twig" with {'foo1': 'bar'} only %}
+{% include "foo.twig" with vars1 %}
+{% include "foo.twig" with vars1 only %}
+{% include "foo.twig" with vars2 %}
+{% include "foo.twig" with vars2 only %}
 --TEMPLATE(foo.twig)--
 {% for k, v in _context %}{{ k }},{% endfor %}
 --DATA--
-return ['foo' => 'bar']
+return ['vars1' => ['foo1' => 'bar'], 'vars2' => new ArrayObject(['foo2' => 'bar'])]
 --EXPECT--
-foo,global,_parent,
+vars1,vars2,global,_parent,
 global,_parent,
-foo,global,foo1,_parent,
+vars1,vars2,global,foo1,_parent,
 foo1,global,_parent,
+vars1,vars2,global,foo2,_parent,
+foo2,global,_parent,
diff --git a/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/with_variables.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/with_variables.test
index 3b192aeb2640ee0ed788c3a373f6f04f62a9948b..45a05199ec61c6445b1324ee7d2567c62a15cabe 100644
--- a/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/with_variables.test
+++ b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/with_variables.test
@@ -2,11 +2,13 @@
 "include" tag accept variables
 --TEMPLATE--
 {% include "foo.twig" with {'foo': 'bar'} %}
-{% include "foo.twig" with vars %}
+{% include "foo.twig" with vars1 %}
+{% include "foo.twig" with vars2 %}
 --TEMPLATE(foo.twig)--
 {{ foo }}
 --DATA--
-return ['vars' => ['foo' => 'bar']]
+return ['vars1' => ['foo' => 'bar'], 'vars2' => new ArrayObject(['foo' => 'bar'])]
 --EXPECT--
 bar
 bar
+bar
diff --git a/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/sandbox/array.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/sandbox/array.test
new file mode 100644
index 0000000000000000000000000000000000000000..b432427e4a638079edf4d67fb76d570081078d56
--- /dev/null
+++ b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/sandbox/array.test
@@ -0,0 +1,16 @@
+--TEST--
+sandbox tag
+--TEMPLATE--
+{%- sandbox %}
+    {%- include "foo.twig" %}
+{%- endsandbox %}
+--TEMPLATE(foo.twig)--
+{{ [a][0] }}
+{{ dump([a][0]) }}
+--DATA--
+return ['a' => 'b']
+--CONFIG--
+return ['autoescape' => false, 'debug' => true]
+--EXPECT--
+b
+string(1) "b"
diff --git a/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/set/capture_scope.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/set/capture_scope.test
new file mode 100644
index 0000000000000000000000000000000000000000..bb2bbebaf0eb94acdeb9e7b5773b9828cfd0d752
--- /dev/null
+++ b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/set/capture_scope.test
@@ -0,0 +1,10 @@
+--TEST--
+"set" tag block capture
+--TEMPLATE--
+{% set foo %}{{ foo }}{% endset %}
+
+{{ foo }}
+--DATA--
+return ['foo' => 'foo']
+--EXPECT--
+foo
diff --git a/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/set/inheritance.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/set/inheritance.test
new file mode 100644
index 0000000000000000000000000000000000000000..79e89ce79b7d1c21c436050e6e0dbc3f9c438d6f
--- /dev/null
+++ b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/set/inheritance.test
@@ -0,0 +1,24 @@
+--TEST--
+"set" tag with inheritance
+--TEMPLATE--
+{% extends "layout.twig" %}
+
+{% set bar %}bar{% endset %}
+
+{% block var_from_child %}
+    {{- bar -}}
+{% endblock %}
+--TEMPLATE(layout.twig)--
+{% set foo %}foo{% endset %}
+
+{% block var_from_layout %}
+    {{- foo -}}
+{% endblock %}
+
+{% block var_from_child %}
+{% endblock %}
+--DATA--
+return []
+--EXPECT--
+foo
+bar
diff --git a/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/set/inheritance_overriding.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/set/inheritance_overriding.test
new file mode 100644
index 0000000000000000000000000000000000000000..2d23c83ae6725b5aaa0953a038009cdf5c060e38
--- /dev/null
+++ b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/set/inheritance_overriding.test
@@ -0,0 +1,24 @@
+--TEST--
+"set" tag with inheritance
+--TEMPLATE--
+{% extends "layout.twig" %}
+
+{% set foo %}bar{% endset %}
+
+{% block var_from_child %}
+    {{- foo -}}
+{% endblock %}
+--TEMPLATE(layout.twig)--
+{% set foo %}foo{% endset %}
+
+{% block var_from_layout %}
+    {{- foo -}}
+{% endblock %}
+
+{% block var_from_child %}
+{% endblock %}
+--DATA--
+return []
+--EXPECT--
+foo
+foo
diff --git a/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/set/mutating.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/set/mutating.test
new file mode 100644
index 0000000000000000000000000000000000000000..ae388bb873a3f3f059698ede4c29e7eb498851f4
--- /dev/null
+++ b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/set/mutating.test
@@ -0,0 +1,17 @@
+--TEST--
+"set" tag
+--TEMPLATE--
+{% set foo = "foo" %}
+
+{% set bar %}
+    {%- set foo = "bar" -%}
+    bar
+{% endset %}
+
+{{ foo }}
+{{ bar }}
+--DATA--
+return []
+--EXPECT--
+bar
+bar
diff --git a/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/with/globals.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/with/globals.test
new file mode 100644
index 0000000000000000000000000000000000000000..b030e7eff3fe8895331b30563b5cadcaa1b6e4ef
--- /dev/null
+++ b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/with/globals.test
@@ -0,0 +1,10 @@
+--TEST--
+"with" tag
+--TEMPLATE--
+{% with [] only %}
+    {{ global }}
+{% endwith %}
+--DATA--
+return []
+--EXPECT--
+global
diff --git a/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/with/iterable.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/with/iterable.test
new file mode 100644
index 0000000000000000000000000000000000000000..1b0cbc63e5e92135239a75ce698b73815d394809
--- /dev/null
+++ b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/with/iterable.test
@@ -0,0 +1,10 @@
+--TEST--
+"with" tag with an iterable expression
+--TEMPLATE--
+{% with vars %}
+    {{ foo }}{{ bar }}
+{% endwith %}
+--DATA--
+return ['vars' => new ArrayObject(['foo' => 'baz', 'bar' => 'qux'])]
+--EXPECT--
+bazqux
diff --git a/vendor/twig/twig/test/Twig/Tests/Fixtures/tests/defined_on_complex_expr.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tests/defined_on_complex_expr.test
new file mode 100644
index 0000000000000000000000000000000000000000..2d0615832f4f1416177c94eee35b9acdc83d2af2
--- /dev/null
+++ b/vendor/twig/twig/test/Twig/Tests/Fixtures/tests/defined_on_complex_expr.test
@@ -0,0 +1,8 @@
+--TEST--
+"defined" support for "complex" expressions
+--TEMPLATE--
+{{ (1 + 2) is defined ? 'ok' : 'ko' }}
+--DATA--
+return []
+--EXCEPTION--
+Twig\Error\SyntaxError: The "defined" test only works with simple variables in "index.twig" at line 2.
diff --git a/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/trim_block.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/whitespace/trim_block.test
similarity index 92%
rename from vendor/twig/twig/test/Twig/Tests/Fixtures/tags/trim_block.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/whitespace/trim_block.test
index f1a1310ad95839bc11d5f39c936cf86e2fa6a508..346a11076c34d71854091957e7070255375ae00f 100644
--- a/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/trim_block.test
+++ b/vendor/twig/twig/test/Twig/Tests/Fixtures/whitespace/trim_block.test
@@ -1,9 +1,6 @@
 --TEST--
 Whitespace trimming on tags.
 --TEMPLATE--
-{{ 5 * '{#-'|length }}
-{{ '{{-'|length * 5 + '{%-'|length }}
-
 Trim on control tag:
 {% for i in range(1, 9) -%}
 	{{ i }}
@@ -53,9 +50,6 @@ end
 --DATA--
 return ['leading' => 'leading space', 'trailing' => 'trailing space', 'both' => 'both']
 --EXPECT--
-15
-18
-
 Trim on control tag:
 123456789
 
diff --git a/vendor/twig/twig/test/Twig/Tests/Fixtures/whitespace/trim_delimiter_as_strings.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/whitespace/trim_delimiter_as_strings.test
new file mode 100644
index 0000000000000000000000000000000000000000..a58818dde479345cab39f568bfc0422a172d24ca
--- /dev/null
+++ b/vendor/twig/twig/test/Twig/Tests/Fixtures/whitespace/trim_delimiter_as_strings.test
@@ -0,0 +1,10 @@
+--TEST--
+Whitespace trimming as strings.
+--TEMPLATE--
+{{ 5 * '{#-'|length }}
+{{ '{{-'|length * 5 + '{%-'|length }}
+--DATA--
+return []
+--EXPECT--
+15
+18
diff --git a/vendor/twig/twig/test/Twig/Tests/Fixtures/whitespace/trim_left.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/whitespace/trim_left.test
new file mode 100644
index 0000000000000000000000000000000000000000..75d0f80319367777be0cc602a4f164b51abbfdd4
--- /dev/null
+++ b/vendor/twig/twig/test/Twig/Tests/Fixtures/whitespace/trim_left.test
@@ -0,0 +1,32 @@
+--TEST--
+Whitespace trimming on tags (left side).
+--TEMPLATE--
+**{% if true %}
+foo
+    
+    	    {%- endif %}**
+
+**
+
+	    {{- 'foo' }}**
+
+**
+    
+	
+{#- comment #}**
+
+**{% verbatim %}
+foo
+    
+    	    {%- endverbatim %}**
+--DATA--
+return []
+--EXPECT--
+**foo**
+
+**foo**
+
+****
+
+**
+foo**
diff --git a/vendor/twig/twig/test/Twig/Tests/Fixtures/whitespace/trim_line_left.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/whitespace/trim_line_left.test
new file mode 100644
index 0000000000000000000000000000000000000000..e5e845f08b77b76657bfe7e23ebaa97b9ce58090
--- /dev/null
+++ b/vendor/twig/twig/test/Twig/Tests/Fixtures/whitespace/trim_line_left.test
@@ -0,0 +1,33 @@
+--TEST--
+Line whitespace trimming on tags (left side).
+--TEMPLATE--
+**{% if true %}
+foo
+    	    {%~ endif %}**
+
+**
+	    {{~ 'foo' }}**
+
+**
+	{#~ comment #}**
+
+**{% verbatim %}
+foo
+    
+    	    {%~ endverbatim %}**
+--DATA--
+return []
+--EXPECT--
+**foo
+**
+
+**
+foo**
+
+**
+**
+
+**
+foo
+    
+**
diff --git a/vendor/twig/twig/test/Twig/Tests/Fixtures/whitespace/trim_line_right.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/whitespace/trim_line_right.test
new file mode 100644
index 0000000000000000000000000000000000000000..e7b510c85d8e1d21f6c30c3edabbb6bf140b0824
--- /dev/null
+++ b/vendor/twig/twig/test/Twig/Tests/Fixtures/whitespace/trim_line_right.test
@@ -0,0 +1,32 @@
+--TEST--
+Line whitespace trimming on tags (right side).
+--TEMPLATE--
+**{% if true ~%}    	    
+foo{% endif %}**
+
+**{{ 'foo' ~}}    	    
+foo
+**
+
+**{# comment ~#}	    
+	foo
+**
+
+**{% verbatim ~%}	    
+    foo{% endverbatim %}**
+--DATA--
+return []
+--EXPECT--
+**
+foo**
+
+**foo
+foo
+**
+
+**
+	foo
+**
+
+**
+    foo**
diff --git a/vendor/twig/twig/test/Twig/Tests/Fixtures/whitespace/trim_right.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/whitespace/trim_right.test
new file mode 100644
index 0000000000000000000000000000000000000000..0ec3b0ceaa90904207471a422da3668b54832f09
--- /dev/null
+++ b/vendor/twig/twig/test/Twig/Tests/Fixtures/whitespace/trim_right.test
@@ -0,0 +1,28 @@
+--TEST--
+Whitespace trimming on tags (right side).
+--TEMPLATE--
+**{% if true -%}
+    
+    	    foo{% endif %}**
+
+**{{ 'foo' -}}
+	    
+**
+
+**{# comment -#}    
+	
+**
+
+**{% verbatim -%}    
+    	    
+foo{% endverbatim %}**
+--DATA--
+return []
+--EXPECT--
+**foo**
+
+**foo**
+
+****
+
+**foo**
diff --git a/vendor/twig/twig/test/Twig/Tests/IntegrationTest.php b/vendor/twig/twig/test/Twig/Tests/IntegrationTest.php
index be25047c8a97c67a764105848fac7bead8569311..e4b7d1d82f0c7f0606a747efd7d365cafc460527 100644
--- a/vendor/twig/twig/test/Twig/Tests/IntegrationTest.php
+++ b/vendor/twig/twig/test/Twig/Tests/IntegrationTest.php
@@ -34,7 +34,7 @@ class Twig_Tests_IntegrationTest extends IntegrationTestCase
 {
     public function getExtensions()
     {
-        $policy = new SecurityPolicy([], [], [], [], []);
+        $policy = new SecurityPolicy([], [], [], [], ['dump']);
 
         return [
             new DebugExtension(),
@@ -345,3 +345,40 @@ public function getIterator()
         return new \ArrayIterator($this->data);
     }
 }
+
+class SimpleIteratorForTesting implements Iterator
+{
+    private $data = [1, 2, 3, 4, 5, 6, 7];
+    private $key = 0;
+
+    public function current()
+    {
+        return $this->key;
+    }
+
+    public function next()
+    {
+        ++$this->key;
+    }
+
+    public function key()
+    {
+        return $this->key;
+    }
+
+    public function valid()
+    {
+        return isset($this->data[$this->key]);
+    }
+
+    public function rewind()
+    {
+        $this->key = 0;
+    }
+
+    public function __toString()
+    {
+        // for testing, make sure string length returned is not the same as the `iterator_count`
+        return str_repeat('X', iterator_count($this) + 10);
+    }
+}
diff --git a/vendor/twig/twig/test/Twig/Tests/Node/IncludeTest.php b/vendor/twig/twig/test/Twig/Tests/Node/IncludeTest.php
index bdb9d0a99598006a2fbcd0231d7edc08ae8b721f..ae8ff074c1c84b84a426250c830506e578f7dc24 100644
--- a/vendor/twig/twig/test/Twig/Tests/Node/IncludeTest.php
+++ b/vendor/twig/twig/test/Twig/Tests/Node/IncludeTest.php
@@ -62,27 +62,31 @@ public function getTests()
         $node = new IncludeNode($expr, $vars, false, false, 1);
         $tests[] = [$node, <<<EOF
 // line 1
-\$this->loadTemplate("foo.twig", null, 1)->display(array_merge(\$context, ["foo" => true]));
+\$this->loadTemplate("foo.twig", null, 1)->display(twig_array_merge(\$context, ["foo" => true]));
 EOF
         ];
 
         $node = new IncludeNode($expr, $vars, true, false, 1);
         $tests[] = [$node, <<<EOF
 // line 1
-\$this->loadTemplate("foo.twig", null, 1)->display(["foo" => true]);
+\$this->loadTemplate("foo.twig", null, 1)->display(twig_to_array(["foo" => true]));
 EOF
         ];
 
         $node = new IncludeNode($expr, $vars, true, true, 1);
         $tests[] = [$node, <<<EOF
 // line 1
+\$__internal_%s = null;
 try {
-    \$this->loadTemplate("foo.twig", null, 1)->display(["foo" => true]);
+    \$__internal_%s =     \$this->loadTemplate("foo.twig", null, 1);
 } catch (LoaderError \$e) {
     // ignore missing template
 }
+if (\$__internal_%s) {
+    \$__internal_%s->display(twig_to_array(["foo" => true]));
+}
 EOF
-        ];
+        , null, true];
 
         return $tests;
     }
diff --git a/vendor/twig/twig/test/Twig/Tests/Node/ModuleTest.php b/vendor/twig/twig/test/Twig/Tests/Node/ModuleTest.php
index 875bea20401f04f3a6a8433fae8677f7ffbc2eed..213350a2c265dca46a8119d23f7dbbbe88f93ce6 100644
--- a/vendor/twig/twig/test/Twig/Tests/Node/ModuleTest.php
+++ b/vendor/twig/twig/test/Twig/Tests/Node/ModuleTest.php
@@ -140,14 +140,13 @@ public function __construct(Environment \$env)
     {
         parent::__construct(\$env);
 
-        // line 1
-        \$this->parent = \$this->loadTemplate("layout.twig", "foo.twig", 1);
         \$this->blocks = [
         ];
     }
 
     protected function doGetParent(array \$context)
     {
+        // line 1
         return "layout.twig";
     }
 
@@ -156,6 +155,7 @@ protected function doDisplay(array \$context, array \$blocks = [])
         // line 2
         \$context["macro"] = \$this->loadTemplate("foo.twig", "foo.twig", 2);
         // line 1
+        \$this->parent = \$this->loadTemplate("layout.twig", "foo.twig", 1);
         \$this->parent->display(\$context, array_merge(\$this->blocks, \$blocks));
     }
 
@@ -171,7 +171,7 @@ public function isTraitable()
 
     public function getDebugInfo()
     {
-        return array (  37 => 1,  35 => 2,  22 => 1,);
+        return array (  36 => 1,  34 => 2,  28 => 1,);
     }
 
     /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */
diff --git a/vendor/typo3/phar-stream-wrapper/README.md b/vendor/typo3/phar-stream-wrapper/README.md
index b632784bddaeb2343b7a199a7bf13720313c7bf5..179bb6fd774c27f604f9f0c7c7047ccadb02e3aa 100644
--- a/vendor/typo3/phar-stream-wrapper/README.md
+++ b/vendor/typo3/phar-stream-wrapper/README.md
@@ -63,7 +63,7 @@ adjusted to according requirements.
 
 ```
 $behavior = new \TYPO3\PharStreamWrapper\Behavior();
-Manager::initialize(
+\TYPO3\PharStreamWrapper\Manager::initialize(
     $behavior->withAssertion(new PharExtensionInterceptor())
 );
 
@@ -90,7 +90,7 @@ if (in_array('phar', stream_get_wrappers())) {
   + `COMMAND_UNLINK`
   + `COMMAND_URL_STAT`
 
-## Interceptor
+## Interceptors
 
 The following interceptor is shipped with the package and ready to use in order
 to block any Phar invocation of files not having a `.phar` suffix. Besides that
@@ -137,9 +137,72 @@ class PharExtensionInterceptor implements Assertable
 }
 ```
 
+### ConjunctionInterceptor
+
+This interceptor combines multiple interceptors implementing `Assertable`.
+It succeeds when all nested interceptors succeed as well (logical `AND`).
+
+```
+$behavior = new \TYPO3\PharStreamWrapper\Behavior();
+\TYPO3\PharStreamWrapper\Manager::initialize(
+    $behavior->withAssertion(new ConjunctionInterceptor(array(
+        new PharExtensionInterceptor(),
+        new PharMetaDataInterceptor()
+    )))
+);
+```
+
+### PharExtensionInterceptor
+
+This (basic) interceptor just checks whether the invoked Phar archive has
+an according `.phar` file extension. Resolving symbolic links as well as
+Phar internal alias resolving are considered as well.
+
+```
+$behavior = new \TYPO3\PharStreamWrapper\Behavior();
+\TYPO3\PharStreamWrapper\Manager::initialize(
+    $behavior->withAssertion(new PharExtensionInterceptor())
+);
+```
+
+### PharMetaDataInterceptor
+
+This interceptor is actually checking serialized Phar meta-data against
+PHP objects and would consider a Phar archive malicious in case not only
+scalar values are found. A custom low-level `Phar\Reader` is used in order to
+avoid using PHP's `Phar` object which would trigger the initial vulnerability.
+
+```
+$behavior = new \TYPO3\PharStreamWrapper\Behavior();
+\TYPO3\PharStreamWrapper\Manager::initialize(
+    $behavior->withAssertion(new PharMetaDataInterceptor())
+);
+```
+
+## Reader
+
+* `Phar\Reader::__construct(string $fileName)`: Creates low-level reader for Phar archive
+* `Phar\Reader::resolveContainer(): Phar\Container`: Resolves model representing Phar archive
+* `Phar\Container::getStub(): Phar\Stub`: Resolves (plain PHP) stub section of Phar archive
+* `Phar\Container::getManifest(): Phar\Manifest`: Resolves parsed Phar archive manifest as
+  documented at http://php.net/manual/en/phar.fileformat.manifestfile.php
+* `Phar\Stub::getMappedAlias(): string`: Resolves internal Phar archive alias defined in stub
+  using `Phar::mapPhar('alias.phar')` - actually the plain PHP source is analyzed here
+* `Phar\Manifest::getAlias(): string` - Resolves internal Phar archive alias defined in manifest
+  using `Phar::setAlias('alias.phar')`
+* `Phar\Manifest::getMetaData(): string`: Resolves serialized Phar archive meta-data
+* `Phar\Manifest::deserializeMetaData(): mixed`: Resolves deserialized Phar archive meta-data
+  containing only scalar values - in case an object is determined, an according
+  `Phar\DeserializationException` will be thrown
+
+```
+$reader = new Phar\Reader('example.phar');
+var_dump($reader->resolveContainer()->getManifest()->deserializeMetaData());
+```
+
 ## Helper
 
-* `Helper::determineBaseFile(string $path)`: Determines base file that can be
+* `Helper::determineBaseFile(string $path): string`: Determines base file that can be
   accessed using the regular file system. For instance the following path
   `phar:///home/user/bundle.phar/content.txt` would be resolved to
   `/home/user/bundle.phar`.
diff --git a/vendor/typo3/phar-stream-wrapper/composer.json b/vendor/typo3/phar-stream-wrapper/composer.json
index d308f8c87413aba41ea6d47f8a2f85d0c707f36e..f1d25a070d6b2a56dc8c2357434e632be592f6eb 100644
--- a/vendor/typo3/phar-stream-wrapper/composer.json
+++ b/vendor/typo3/phar-stream-wrapper/composer.json
@@ -6,7 +6,10 @@
     "homepage": "https://typo3.org/",
     "keywords": ["php", "phar", "stream-wrapper", "security"],
     "require": {
-        "php": "^5.3.3|^7.0"
+        "php": "^5.3.3|^7.0",
+        "ext-fileinfo": "*",
+        "ext-json": "*",
+        "brumann/polyfill-unserialize": "^1.0"
     },
     "require-dev": {
         "phpunit/phpunit": "^4.8.36"
diff --git a/vendor/typo3/phar-stream-wrapper/src/Collectable.php b/vendor/typo3/phar-stream-wrapper/src/Collectable.php
new file mode 100644
index 0000000000000000000000000000000000000000..0ad2783d24ebc8b46e8badb638e352e2bfc4dc3a
--- /dev/null
+++ b/vendor/typo3/phar-stream-wrapper/src/Collectable.php
@@ -0,0 +1,31 @@
+<?php
+namespace TYPO3\PharStreamWrapper;
+
+/*
+ * This file is part of the TYPO3 project.
+ *
+ * It is free software; you can redistribute it and/or modify it under the terms
+ * of the MIT License (MIT). For the full copyright and license information,
+ * please read the LICENSE file that was distributed with this source code.
+ *
+ * The TYPO3 project - inspiring people to share!
+ */
+
+use TYPO3\PharStreamWrapper\Resolver\PharInvocation;
+
+interface Collectable
+{
+    /**
+     * @param PharInvocation $invocation
+     * @param null $flags
+     * @return bool
+     */
+    public function collect(PharInvocation $invocation, $flags = null);
+
+    /**
+     * @param callable $callback
+     * @param bool $reverse
+     * @return null|PharInvocation
+     */
+    public function findByCallback($callback, $reverse = false);
+}
diff --git a/vendor/typo3/phar-stream-wrapper/src/Helper.php b/vendor/typo3/phar-stream-wrapper/src/Helper.php
index 32d0da6975c364ec059bc1fa30b6aa0961199bbf..c9c3a0a510dad8ee6bea188f79d81d2d262a9eab 100644
--- a/vendor/typo3/phar-stream-wrapper/src/Helper.php
+++ b/vendor/typo3/phar-stream-wrapper/src/Helper.php
@@ -11,6 +11,13 @@
  * The TYPO3 project - inspiring people to share!
  */
 
+/**
+ * Helper provides low-level tools on file name resolving. However it does not
+ * (and should not) maintain any runtime state information. In order to resolve
+ * Phar archive paths according resolvers have to be used.
+ *
+ * @see \TYPO3\PharStreamWrapper\Resolvable::resolve()
+ */
 class Helper
 {
     /*
@@ -54,6 +61,15 @@ public static function determineBaseFile($path)
         return null;
     }
 
+    /**
+     * @param string $path
+     * @return bool
+     */
+    public static function hasPharPrefix($path)
+    {
+        return stripos($path, 'phar://') === 0;
+    }
+
     /**
      * @param string $path
      * @return string
@@ -61,7 +77,7 @@ public static function determineBaseFile($path)
     public static function removePharPrefix($path)
     {
         $path = trim($path);
-        if (stripos($path, 'phar://') !== 0) {
+        if (!static::hasPharPrefix($path)) {
             return $path;
         }
         return substr($path, 7);
diff --git a/vendor/typo3/phar-stream-wrapper/src/Interceptor/ConjunctionInterceptor.php b/vendor/typo3/phar-stream-wrapper/src/Interceptor/ConjunctionInterceptor.php
new file mode 100644
index 0000000000000000000000000000000000000000..b9c665e6ac53d981eb33814d1443cc68fcee6034
--- /dev/null
+++ b/vendor/typo3/phar-stream-wrapper/src/Interceptor/ConjunctionInterceptor.php
@@ -0,0 +1,88 @@
+<?php
+namespace TYPO3\PharStreamWrapper\Interceptor;
+
+/*
+ * This file is part of the TYPO3 project.
+ *
+ * It is free software; you can redistribute it and/or modify it under the terms
+ * of the MIT License (MIT). For the full copyright and license information,
+ * please read the LICENSE file that was distributed with this source code.
+ *
+ * The TYPO3 project - inspiring people to share!
+ */
+
+use TYPO3\PharStreamWrapper\Assertable;
+use TYPO3\PharStreamWrapper\Exception;
+
+class ConjunctionInterceptor implements Assertable
+{
+    /**
+     * @var Assertable[]
+     */
+    private $assertions;
+
+    public function __construct(array $assertions)
+    {
+        $this->assertAssertions($assertions);
+        $this->assertions = $assertions;
+    }
+
+    /**
+     * Executes assertions based on all contained assertions.
+     *
+     * @param string $path
+     * @param string $command
+     * @return bool
+     * @throws Exception
+     */
+    public function assert($path, $command)
+    {
+        if ($this->invokeAssertions($path, $command)) {
+            return true;
+        }
+        throw new Exception(
+            sprintf(
+                'Assertion failed in "%s"',
+                $path
+            ),
+            1539625084
+        );
+    }
+
+    /**
+     * @param Assertable[] $assertions
+     */
+    private function assertAssertions(array $assertions)
+    {
+        foreach ($assertions as $assertion) {
+            if (!$assertion instanceof Assertable) {
+                throw new \InvalidArgumentException(
+                    sprintf(
+                        'Instance %s must implement Assertable',
+                        get_class($assertion)
+                    ),
+                    1539624719
+                );
+            }
+        }
+    }
+
+    /**
+     * @param string $path
+     * @param string $command
+     * @return bool
+     */
+    private function invokeAssertions($path, $command)
+    {
+        try {
+            foreach ($this->assertions as $assertion) {
+                if (!$assertion->assert($path, $command)) {
+                    return false;
+                }
+            }
+        } catch (Exception $exception) {
+            return false;
+        }
+        return true;
+    }
+}
diff --git a/vendor/typo3/phar-stream-wrapper/src/Interceptor/PharExtensionInterceptor.php b/vendor/typo3/phar-stream-wrapper/src/Interceptor/PharExtensionInterceptor.php
index db500afc8a730157984460b89f05652a952ca207..6e7aeedcbe799044489eeb00433ae9290e5702fd 100644
--- a/vendor/typo3/phar-stream-wrapper/src/Interceptor/PharExtensionInterceptor.php
+++ b/vendor/typo3/phar-stream-wrapper/src/Interceptor/PharExtensionInterceptor.php
@@ -12,8 +12,8 @@
  */
 
 use TYPO3\PharStreamWrapper\Assertable;
-use TYPO3\PharStreamWrapper\Helper;
 use TYPO3\PharStreamWrapper\Exception;
+use TYPO3\PharStreamWrapper\Manager;
 
 class PharExtensionInterceptor implements Assertable
 {
@@ -45,11 +45,11 @@ public function assert($path, $command)
      */
     private function baseFileContainsPharExtension($path)
     {
-        $baseFile = Helper::determineBaseFile($path);
-        if ($baseFile === null) {
+        $invocation = Manager::instance()->resolve($path);
+        if ($invocation === null) {
             return false;
         }
-        $fileExtension = pathinfo($baseFile, PATHINFO_EXTENSION);
+        $fileExtension = pathinfo($invocation->getBaseName(), PATHINFO_EXTENSION);
         return strtolower($fileExtension) === 'phar';
     }
 }
diff --git a/vendor/typo3/phar-stream-wrapper/src/Interceptor/PharMetaDataInterceptor.php b/vendor/typo3/phar-stream-wrapper/src/Interceptor/PharMetaDataInterceptor.php
new file mode 100644
index 0000000000000000000000000000000000000000..a1224a25043989847bcc8e86feb4e54c6ead2f77
--- /dev/null
+++ b/vendor/typo3/phar-stream-wrapper/src/Interceptor/PharMetaDataInterceptor.php
@@ -0,0 +1,68 @@
+<?php
+namespace TYPO3\PharStreamWrapper\Interceptor;
+
+/*
+ * This file is part of the TYPO3 project.
+ *
+ * It is free software; you can redistribute it and/or modify it under the terms
+ * of the MIT License (MIT). For the full copyright and license information,
+ * please read the LICENSE file that was distributed with this source code.
+ *
+ * The TYPO3 project - inspiring people to share!
+ */
+
+use TYPO3\PharStreamWrapper\Assertable;
+use TYPO3\PharStreamWrapper\Exception;
+use TYPO3\PharStreamWrapper\Manager;
+use TYPO3\PharStreamWrapper\Phar\DeserializationException;
+use TYPO3\PharStreamWrapper\Phar\Reader;
+
+/**
+ * @internal Experimental implementation of checking against serialized objects in Phar meta-data
+ * @internal This functionality has not been 100% pentested...
+ */
+class PharMetaDataInterceptor implements Assertable
+{
+    /**
+     * Determines whether the according Phar archive contains
+     * (potential insecure) serialized objects.
+     *
+     * @param string $path
+     * @param string $command
+     * @return bool
+     * @throws Exception
+     */
+    public function assert($path, $command)
+    {
+        if ($this->baseFileDoesNotHaveMetaDataIssues($path)) {
+            return true;
+        }
+        throw new Exception(
+            sprintf(
+                'Problematic meta-data in "%s"',
+                $path
+            ),
+            1539632368
+        );
+    }
+
+    /**
+     * @param string $path
+     * @return bool
+     */
+    private function baseFileDoesNotHaveMetaDataIssues($path)
+    {
+        $invocation = Manager::instance()->resolve($path);
+        if ($invocation === null) {
+            return false;
+        }
+
+        try {
+            $reader = new Reader($invocation->getBaseName());
+            $reader->resolveContainer()->getManifest()->deserializeMetaData();
+        } catch (DeserializationException $exception) {
+            return false;
+        }
+        return true;
+    }
+}
diff --git a/vendor/typo3/phar-stream-wrapper/src/Manager.php b/vendor/typo3/phar-stream-wrapper/src/Manager.php
index 1eb9735d9862af154ed042f32adb791781720c43..f938ad9854131f21c07d7b38014b8af19de6b470 100644
--- a/vendor/typo3/phar-stream-wrapper/src/Manager.php
+++ b/vendor/typo3/phar-stream-wrapper/src/Manager.php
@@ -11,7 +11,11 @@
  * The TYPO3 project - inspiring people to share!
  */
 
-class Manager implements Assertable
+use TYPO3\PharStreamWrapper\Resolver\PharInvocation;
+use TYPO3\PharStreamWrapper\Resolver\PharInvocationCollection;
+use TYPO3\PharStreamWrapper\Resolver\PharInvocationResolver;
+
+class Manager
 {
     /**
      * @var self
@@ -23,14 +27,29 @@ class Manager implements Assertable
      */
     private $behavior;
 
+    /**
+     * @var Resolvable
+     */
+    private $resolver;
+
+    /**
+     * @var Collectable
+     */
+    private $collection;
+
     /**
      * @param Behavior $behaviour
+     * @param Resolvable $resolver
+     * @param Collectable $collection
      * @return self
      */
-    public static function initialize(Behavior $behaviour)
-    {
+    public static function initialize(
+        Behavior $behaviour,
+        Resolvable $resolver = null,
+        Collectable $collection = null
+    ) {
         if (self::$instance === null) {
-            self::$instance = new self($behaviour);
+            self::$instance = new self($behaviour, $resolver, $collection);
             return self::$instance;
         }
         throw new \LogicException(
@@ -67,9 +86,22 @@ public static function destroy()
 
     /**
      * @param Behavior $behaviour
+     * @param Resolvable $resolver
+     * @param Collectable $collection
      */
-    private function __construct(Behavior $behaviour)
-    {
+    private function __construct(
+        Behavior $behaviour,
+        Resolvable $resolver = null,
+        Collectable $collection = null
+    ) {
+        if ($collection === null) {
+            $collection = new PharInvocationCollection();
+        }
+        if ($resolver === null) {
+            $resolver = new PharInvocationResolver();
+        }
+        $this->collection = $collection;
+        $this->resolver = $resolver;
         $this->behavior = $behaviour;
     }
 
@@ -82,4 +114,22 @@ public function assert($path, $command)
     {
         return $this->behavior->assert($path, $command);
     }
+
+    /**
+     * @param string $path
+     * @param null|int $flags
+     * @return null|PharInvocation
+     */
+    public function resolve($path, $flags = null)
+    {
+        return $this->resolver->resolve($path, $flags);
+    }
+
+    /**
+     * @return Collectable
+     */
+    public function getCollection()
+    {
+        return $this->collection;
+    }
 }
diff --git a/vendor/typo3/phar-stream-wrapper/src/Phar/Container.php b/vendor/typo3/phar-stream-wrapper/src/Phar/Container.php
new file mode 100644
index 0000000000000000000000000000000000000000..3fbbaa57b03e7345540bf52442fb33e8687054e3
--- /dev/null
+++ b/vendor/typo3/phar-stream-wrapper/src/Phar/Container.php
@@ -0,0 +1,59 @@
+<?php
+namespace TYPO3\PharStreamWrapper\Phar;
+
+/*
+ * This file is part of the TYPO3 project.
+ *
+ * It is free software; you can redistribute it and/or modify it under the terms
+ * of the MIT License (MIT). For the full copyright and license information,
+ * please read the LICENSE file that was distributed with this source code.
+ *
+ * The TYPO3 project - inspiring people to share!
+ */
+
+class Container
+{
+    /**
+     * @var Stub
+     */
+    private $stub;
+
+    /**
+     * @var Manifest
+     */
+    private $manifest;
+
+    /**
+     * @param Stub $stub
+     * @param Manifest $manifest
+     */
+    public function __construct(Stub $stub, Manifest $manifest)
+    {
+        $this->stub = $stub;
+        $this->manifest = $manifest;
+    }
+
+    /**
+     * @return Stub
+     */
+    public function getStub()
+    {
+        return $this->stub;
+    }
+
+    /**
+     * @return Manifest
+     */
+    public function getManifest()
+    {
+        return $this->manifest;
+    }
+
+    /**
+     * @return string
+     */
+    public function getAlias()
+    {
+        return $this->stub->getMappedAlias() ?: $this->manifest->getAlias();
+    }
+}
diff --git a/vendor/typo3/phar-stream-wrapper/src/Phar/DeserializationException.php b/vendor/typo3/phar-stream-wrapper/src/Phar/DeserializationException.php
new file mode 100644
index 0000000000000000000000000000000000000000..5a675d34fe90934cf85debf105067c5507d38faa
--- /dev/null
+++ b/vendor/typo3/phar-stream-wrapper/src/Phar/DeserializationException.php
@@ -0,0 +1,18 @@
+<?php
+namespace TYPO3\PharStreamWrapper\Phar;
+
+/*
+ * This file is part of the TYPO3 project.
+ *
+ * It is free software; you can redistribute it and/or modify it under the terms
+ * of the MIT License (MIT). For the full copyright and license information,
+ * please read the LICENSE file that was distributed with this source code.
+ *
+ * The TYPO3 project - inspiring people to share!
+ */
+
+use TYPO3\PharStreamWrapper\Exception;
+
+class DeserializationException extends Exception
+{
+}
diff --git a/vendor/typo3/phar-stream-wrapper/src/Phar/Manifest.php b/vendor/typo3/phar-stream-wrapper/src/Phar/Manifest.php
new file mode 100644
index 0000000000000000000000000000000000000000..cf7a6210e5acc8ba15b2825ccb411ca761e98194
--- /dev/null
+++ b/vendor/typo3/phar-stream-wrapper/src/Phar/Manifest.php
@@ -0,0 +1,176 @@
+<?php
+namespace TYPO3\PharStreamWrapper\Phar;
+
+/*
+ * This file is part of the TYPO3 project.
+ *
+ * It is free software; you can redistribute it and/or modify it under the terms
+ * of the MIT License (MIT). For the full copyright and license information,
+ * please read the LICENSE file that was distributed with this source code.
+ *
+ * The TYPO3 project - inspiring people to share!
+ */
+
+use Brumann\Polyfill\Unserialize;
+
+class Manifest
+{
+    /**
+     * @param string $content
+     * @return self
+     * @see http://php.net/manual/en/phar.fileformat.phar.php
+     */
+    public static function fromContent($content)
+    {
+        $target = new static();
+        $target->manifestLength = Reader::resolveFourByteLittleEndian($content, 0);
+        $target->amountOfFiles = Reader::resolveFourByteLittleEndian($content, 4);
+        $target->flags = Reader::resolveFourByteLittleEndian($content, 10);
+        $target->aliasLength = Reader::resolveFourByteLittleEndian($content, 14);
+        $target->alias = substr($content, 18, $target->aliasLength);
+        $target->metaDataLength = Reader::resolveFourByteLittleEndian($content, 18 + $target->aliasLength);
+        $target->metaData = substr($content, 22 + $target->aliasLength, $target->metaDataLength);
+
+        $apiVersionNibbles = Reader::resolveTwoByteBigEndian($content, 8);
+        $target->apiVersion = implode('.', array(
+            ($apiVersionNibbles & 0xf000) >> 12,
+            ($apiVersionNibbles & 0x0f00) >> 8,
+            ($apiVersionNibbles & 0x00f0) >> 4,
+        ));
+
+        return $target;
+    }
+
+    /**
+     * @var int
+     */
+    private $manifestLength;
+
+    /**
+     * @var int
+     */
+    private $amountOfFiles;
+
+    /**
+     * @var string
+     */
+    private $apiVersion;
+
+    /**
+     * @var int
+     */
+    private $flags;
+
+    /**
+     * @var int
+     */
+    private $aliasLength;
+
+    /**
+     * @var string
+     */
+    private $alias;
+
+    /**
+     * @var int
+     */
+    private $metaDataLength;
+
+    /**
+     * @var string
+     */
+    private $metaData;
+
+    /**
+     * Avoid direct instantiation.
+     */
+    private function __construct()
+    {
+    }
+
+    /**
+     * @return int
+     */
+    public function getManifestLength()
+    {
+        return $this->manifestLength;
+    }
+
+    /**
+     * @return int
+     */
+    public function getAmountOfFiles()
+    {
+        return $this->amountOfFiles;
+    }
+
+    /**
+     * @return string
+     */
+    public function getApiVersion()
+    {
+        return $this->apiVersion;
+    }
+
+    /**
+     * @return int
+     */
+    public function getFlags()
+    {
+        return $this->flags;
+    }
+
+    /**
+     * @return int
+     */
+    public function getAliasLength()
+    {
+        return $this->aliasLength;
+    }
+
+    /**
+     * @return string
+     */
+    public function getAlias()
+    {
+        return $this->alias;
+    }
+
+    /**
+     * @return int
+     */
+    public function getMetaDataLength()
+    {
+        return $this->metaDataLength;
+    }
+
+    /**
+     * @return string
+     */
+    public function getMetaData()
+    {
+        return $this->metaData;
+    }
+
+    /**
+     * @return mixed|null
+     */
+    public function deserializeMetaData()
+    {
+        if (empty($this->metaData)) {
+            return null;
+        }
+
+        $result = Unserialize::unserialize($this->metaData, array('allowed_classes' => false));
+
+        $serialized = json_encode($result);
+        if (strpos($serialized, '__PHP_Incomplete_Class_Name') !== false) {
+            throw new DeserializationException(
+                'Meta-data contains serialized object',
+                1539623382
+            );
+        }
+
+        return $result;
+    }
+}
diff --git a/vendor/typo3/phar-stream-wrapper/src/Phar/Reader.php b/vendor/typo3/phar-stream-wrapper/src/Phar/Reader.php
new file mode 100644
index 0000000000000000000000000000000000000000..faa254fbd9d5d72f80f3cb18c6ac6c2e0ca44d92
--- /dev/null
+++ b/vendor/typo3/phar-stream-wrapper/src/Phar/Reader.php
@@ -0,0 +1,222 @@
+<?php
+namespace TYPO3\PharStreamWrapper\Phar;
+
+/*
+ * This file is part of the TYPO3 project.
+ *
+ * It is free software; you can redistribute it and/or modify it under the terms
+ * of the MIT License (MIT). For the full copyright and license information,
+ * please read the LICENSE file that was distributed with this source code.
+ *
+ * The TYPO3 project - inspiring people to share!
+ */
+
+class Reader
+{
+    /**
+     * @var string
+     */
+    private $fileName;
+
+    /**
+     * @var string
+     */
+    private $fileType;
+
+    /**
+     * @param string $fileName
+     */
+    public function __construct($fileName)
+    {
+        if (strpos($fileName, '://') !== false) {
+            throw new ReaderException(
+                'File name must not contain stream prefix',
+                1539623708
+            );
+        }
+
+        $this->fileName = $fileName;
+        $this->fileType = $this->determineFileType();
+    }
+
+    /**
+     * @return Container
+     */
+    public function resolveContainer()
+    {
+        $data = $this->extractData($this->resolveStream() . $this->fileName);
+
+        if ($data['stubContent'] === null) {
+            throw new ReaderException(
+                'Cannot resolve stub',
+                1547807881
+            );
+        }
+        if ($data['manifestContent'] === null || $data['manifestLength'] === null) {
+            throw new ReaderException(
+                'Cannot resolve manifest',
+                1547807882
+            );
+        }
+        if (strlen($data['manifestContent']) < $data['manifestLength']) {
+            throw new ReaderException(
+                sprintf(
+                    'Exected manifest length %d, got %d',
+                    strlen($data['manifestContent']),
+                    $data['manifestLength']
+                ),
+                1547807883
+            );
+        }
+
+        return new Container(
+            Stub::fromContent($data['stubContent']),
+            Manifest::fromContent($data['manifestContent'])
+        );
+    }
+
+    /**
+     * @param string $fileName e.g. '/path/file.phar' or 'compress.zlib:///path/file.phar'
+     * @return array
+     */
+    private function extractData($fileName)
+    {
+        $stubContent = null;
+        $manifestContent = null;
+        $manifestLength = null;
+
+        $resource = fopen($fileName, 'r');
+        if (!is_resource($resource)) {
+            throw new ReaderException(
+                sprintf('Resource %s could not be opened', $fileName),
+                1547902055
+            );
+        }
+
+        while (!feof($resource)) {
+            $line = fgets($resource);
+            // stop reading file when manifest can be extracted
+            if ($manifestLength !== null && $manifestContent !== null && strlen($manifestContent) >= $manifestLength) {
+                break;
+            }
+
+            $stubPosition = strpos($line, '<?php');
+            $manifestPosition = strpos($line, '__HALT_COMPILER()');
+
+            // line contains both, start of (empty) stub and start of manifest
+            if ($stubContent === null && $stubPosition !== false
+                && $manifestContent === null && $manifestPosition !== false) {
+                $stubContent = substr($line, $stubPosition, $manifestPosition - $stubPosition - 1);
+                $manifestContent = preg_replace('#^.*__HALT_COMPILER\(\)[^>]*\?>(\r|\n)*#', '', $line);
+                $manifestLength = $this->resolveManifestLength($manifestContent);
+            // line contains start of stub
+            } elseif ($stubContent === null && $stubPosition !== false) {
+                $stubContent = substr($line, $stubPosition);
+            // line contains start of manifest
+            } elseif ($manifestContent === null && $manifestPosition !== false) {
+                $manifestContent = preg_replace('#^.*__HALT_COMPILER\(\)[^>]*\?>(\r|\n)*#', '', $line);
+                $manifestLength = $this->resolveManifestLength($manifestContent);
+            // manifest has been started (thus is cannot be stub anymore), add content
+            } elseif ($manifestContent !== null) {
+                $manifestContent .= $line;
+                $manifestLength = $this->resolveManifestLength($manifestContent);
+            // stub has been started (thus cannot be manifest here, yet), add content
+            } elseif ($stubContent !== null) {
+                $stubContent .= $line;
+            }
+        }
+        fclose($resource);
+
+        return array(
+            'stubContent' => $stubContent,
+            'manifestContent' => $manifestContent,
+            'manifestLength' => $manifestLength,
+        );
+    }
+
+    /**
+     * Resolves stream in order to handle compressed Phar archives.
+     *
+     * @return string
+     */
+    private function resolveStream()
+    {
+        if ($this->fileType === 'application/x-gzip') {
+            return 'compress.zlib://';
+        } elseif ($this->fileType === 'application/x-bzip2') {
+            return 'compress.bzip2://';
+        }
+        return '';
+    }
+
+    /**
+     * @return string
+     */
+    private function determineFileType()
+    {
+        $fileInfo = new \finfo();
+        return $fileInfo->file($this->fileName, FILEINFO_MIME_TYPE);
+    }
+
+    /**
+     * @param string $content
+     * @return int|null
+     */
+    private function resolveManifestLength($content)
+    {
+        if (strlen($content) < 4) {
+            return null;
+        }
+        return static::resolveFourByteLittleEndian($content, 0);
+    }
+
+    /**
+     * @param string $content
+     * @param int $start
+     * @return int
+     */
+    public static function resolveFourByteLittleEndian($content, $start)
+    {
+        $payload = substr($content, $start, 4);
+        if (!is_string($payload)) {
+            throw new ReaderException(
+                sprintf('Cannot resolve value at offset %d', $start),
+                1539614260
+            );
+        }
+
+        $value = unpack('V', $payload);
+        if (!isset($value[1])) {
+            throw new ReaderException(
+                sprintf('Cannot resolve value at offset %d', $start),
+                1539614261
+            );
+        }
+        return $value[1];
+    }
+
+    /**
+     * @param string $content
+     * @param int $start
+     * @return int
+     */
+    public static function resolveTwoByteBigEndian($content, $start)
+    {
+        $payload = substr($content, $start, 2);
+        if (!is_string($payload)) {
+            throw new ReaderException(
+                sprintf('Cannot resolve value at offset %d', $start),
+                1539614263
+            );
+        }
+
+        $value = unpack('n', $payload);
+        if (!isset($value[1])) {
+            throw new ReaderException(
+                sprintf('Cannot resolve value at offset %d', $start),
+                1539614264
+            );
+        }
+        return $value[1];
+    }
+}
diff --git a/vendor/typo3/phar-stream-wrapper/src/Phar/ReaderException.php b/vendor/typo3/phar-stream-wrapper/src/Phar/ReaderException.php
new file mode 100644
index 0000000000000000000000000000000000000000..002afe158de6ff710bf1054b0f2f95ff9cce52f7
--- /dev/null
+++ b/vendor/typo3/phar-stream-wrapper/src/Phar/ReaderException.php
@@ -0,0 +1,18 @@
+<?php
+namespace TYPO3\PharStreamWrapper\Phar;
+
+/*
+ * This file is part of the TYPO3 project.
+ *
+ * It is free software; you can redistribute it and/or modify it under the terms
+ * of the MIT License (MIT). For the full copyright and license information,
+ * please read the LICENSE file that was distributed with this source code.
+ *
+ * The TYPO3 project - inspiring people to share!
+ */
+
+use TYPO3\PharStreamWrapper\Exception;
+
+class ReaderException extends Exception
+{
+}
diff --git a/vendor/typo3/phar-stream-wrapper/src/Phar/Stub.php b/vendor/typo3/phar-stream-wrapper/src/Phar/Stub.php
new file mode 100644
index 0000000000000000000000000000000000000000..7f72267f9564dc20b4b4ffa749f2803c7381e837
--- /dev/null
+++ b/vendor/typo3/phar-stream-wrapper/src/Phar/Stub.php
@@ -0,0 +1,65 @@
+<?php
+namespace TYPO3\PharStreamWrapper\Phar;
+
+/*
+ * This file is part of the TYPO3 project.
+ *
+ * It is free software; you can redistribute it and/or modify it under the terms
+ * of the MIT License (MIT). For the full copyright and license information,
+ * please read the LICENSE file that was distributed with this source code.
+ *
+ * The TYPO3 project - inspiring people to share!
+ */
+
+/**
+ * @internal Experimental implementation of Phar archive internals
+ */
+class Stub
+{
+    /**
+     * @param string $content
+     * @return self
+     */
+    public static function fromContent($content)
+    {
+        $target = new static();
+        $target->content = $content;
+
+        if (
+            stripos($content, 'Phar::mapPhar(') !== false
+            && preg_match('#Phar\:\:mapPhar\(([^)]+)\)#', $content, $matches)
+        ) {
+            // remove spaces, single & double quotes
+            // @todo `'my' . 'alias' . '.phar'` is not evaluated here
+            $target->mappedAlias = trim($matches[1], ' \'"');
+        }
+
+        return $target;
+    }
+
+    /**
+     * @var string
+     */
+    private $content;
+
+    /**
+     * @var string
+     */
+    private $mappedAlias = '';
+
+    /**
+     * @return string
+     */
+    public function getContent()
+    {
+        return $this->content;
+    }
+
+    /**
+     * @return string
+     */
+    public function getMappedAlias()
+    {
+        return $this->mappedAlias;
+    }
+}
diff --git a/vendor/typo3/phar-stream-wrapper/src/PharStreamWrapper.php b/vendor/typo3/phar-stream-wrapper/src/PharStreamWrapper.php
index 5a924e4ccdf9c7e11c528f3bebd283977035c8af..b552d25dfab6d2772251bdb3343a42aad4ffd491 100644
--- a/vendor/typo3/phar-stream-wrapper/src/PharStreamWrapper.php
+++ b/vendor/typo3/phar-stream-wrapper/src/PharStreamWrapper.php
@@ -11,6 +11,8 @@
  * The TYPO3 project - inspiring people to share!
  */
 
+use TYPO3\PharStreamWrapper\Resolver\PharInvocation;
+
 class PharStreamWrapper
 {
     /**
@@ -29,6 +31,11 @@ class PharStreamWrapper
      */
     protected $internalResource;
 
+    /**
+     * @var PharInvocation
+     */
+    protected $invocation;
+
     /**
      * @return bool
      */
@@ -409,7 +416,8 @@ public function url_stat($path, $flags)
      */
     protected function assert($path, $command)
     {
-        if ($this->resolveAssertable()->assert($path, $command) === true) {
+        if (Manager::instance()->assert($path, $command) === true) {
+            $this->collectInvocation($path);
             return;
         }
 
@@ -424,7 +432,22 @@ protected function assert($path, $command)
     }
 
     /**
-     * @return Assertable
+     * @param string $path
+     */
+    protected function collectInvocation($path)
+    {
+        if (isset($this->invocation)) {
+            return;
+        }
+
+        $manager = Manager::instance();
+        $this->invocation = $manager->resolve($path);
+        $manager->getCollection()->collect($this->invocation);
+    }
+
+    /**
+     * @return Manager|Assertable
+     * @deprecated Use Manager::instance() directly
      */
     protected function resolveAssertable()
     {
diff --git a/vendor/typo3/phar-stream-wrapper/src/Resolvable.php b/vendor/typo3/phar-stream-wrapper/src/Resolvable.php
new file mode 100644
index 0000000000000000000000000000000000000000..5d5fdc63ee1f23e542eda31b33f7704145ff8994
--- /dev/null
+++ b/vendor/typo3/phar-stream-wrapper/src/Resolvable.php
@@ -0,0 +1,24 @@
+<?php
+namespace TYPO3\PharStreamWrapper;
+
+/*
+ * This file is part of the TYPO3 project.
+ *
+ * It is free software; you can redistribute it and/or modify it under the terms
+ * of the MIT License (MIT). For the full copyright and license information,
+ * please read the LICENSE file that was distributed with this source code.
+ *
+ * The TYPO3 project - inspiring people to share!
+ */
+
+use TYPO3\PharStreamWrapper\Resolver\PharInvocation;
+
+interface Resolvable
+{
+    /**
+     * @param string $path
+     * @param null|int $flags
+     * @return null|PharInvocation
+     */
+    public function resolve($path, $flags = null);
+}
diff --git a/vendor/typo3/phar-stream-wrapper/src/Resolver/PharInvocation.php b/vendor/typo3/phar-stream-wrapper/src/Resolver/PharInvocation.php
new file mode 100644
index 0000000000000000000000000000000000000000..d7ee96bc3bac598d985352f8de23a21ac2b6dfe6
--- /dev/null
+++ b/vendor/typo3/phar-stream-wrapper/src/Resolver/PharInvocation.php
@@ -0,0 +1,77 @@
+<?php
+namespace TYPO3\PharStreamWrapper\Resolver;
+
+/*
+ * This file is part of the TYPO3 project.
+ *
+ * It is free software; you can redistribute it and/or modify it under the terms
+ * of the MIT License (MIT). For the full copyright and license information,
+ * please read the LICENSE file that was distributed with this source code.
+ *
+ * The TYPO3 project - inspiring people to share!
+ */
+
+use TYPO3\PharStreamWrapper\Exception;
+
+class PharInvocation
+{
+    /**
+     * @var string
+     */
+    private $baseName;
+
+    /**
+     * @var string
+     */
+    private $alias;
+
+    /**
+     * @param string $baseName
+     * @param string $alias
+     */
+    public function __construct($baseName, $alias = '')
+    {
+        if ($baseName === '') {
+            throw new Exception(
+                'Base-name cannot be empty',
+                1551283689
+            );
+        }
+        $this->baseName = $baseName;
+        $this->alias = $alias;
+    }
+
+    /**
+     * @return string
+     */
+    public function __toString()
+    {
+        return $this->baseName;
+    }
+
+    /**
+     * @return string
+     */
+    public function getBaseName()
+    {
+        return $this->baseName;
+    }
+
+    /**
+     * @return null|string
+     */
+    public function getAlias()
+    {
+        return $this->alias;
+    }
+
+    /**
+     * @param PharInvocation $other
+     * @return bool
+     */
+    public function equals(PharInvocation $other)
+    {
+        return $other->baseName === $this->baseName
+            && $other->alias === $this->alias;
+    }
+}
\ No newline at end of file
diff --git a/vendor/typo3/phar-stream-wrapper/src/Resolver/PharInvocationCollection.php b/vendor/typo3/phar-stream-wrapper/src/Resolver/PharInvocationCollection.php
new file mode 100644
index 0000000000000000000000000000000000000000..d3a6ba8b298d2c3017d351e5259725daf2c60626
--- /dev/null
+++ b/vendor/typo3/phar-stream-wrapper/src/Resolver/PharInvocationCollection.php
@@ -0,0 +1,143 @@
+<?php
+namespace TYPO3\PharStreamWrapper\Resolver;
+
+/*
+ * This file is part of the TYPO3 project.
+ *
+ * It is free software; you can redistribute it and/or modify it under the terms
+ * of the MIT License (MIT). For the full copyright and license information,
+ * please read the LICENSE file that was distributed with this source code.
+ *
+ * The TYPO3 project - inspiring people to share!
+ */
+
+use TYPO3\PharStreamWrapper\Collectable;
+
+class PharInvocationCollection implements Collectable
+{
+    const UNIQUE_INVOCATION = 1;
+    const UNIQUE_BASE_NAME = 2;
+    const DUPLICATE_ALIAS_WARNING = 32;
+
+    /**
+     * @var PharInvocation[]
+     */
+    private $invocations = array();
+
+    /**
+     * @param PharInvocation $invocation
+     * @param null|int $flags
+     * @return bool
+     */
+    public function collect(PharInvocation $invocation, $flags = null)
+    {
+        if ($flags === null) {
+            $flags = static::UNIQUE_INVOCATION | static::DUPLICATE_ALIAS_WARNING;
+        }
+        if ($invocation->getBaseName() === ''
+            || $invocation->getAlias() === ''
+            || !$this->assertUniqueBaseName($invocation, $flags)
+            || !$this->assertUniqueInvocation($invocation, $flags)
+        ) {
+            return false;
+        }
+        if ($flags & static::DUPLICATE_ALIAS_WARNING) {
+            $this->triggerDuplicateAliasWarning($invocation);
+        }
+
+        $this->invocations[] = $invocation;
+        return true;
+    }
+
+    /**
+     * @param callable $callback
+     * @param bool $reverse
+     * @return null|PharInvocation
+     */
+    public function findByCallback($callback, $reverse = false)
+    {
+        foreach ($this->getInvocations($reverse) as $invocation) {
+            if (call_user_func($callback, $invocation) === true) {
+                return $invocation;
+            }
+        }
+        return null;
+    }
+
+    /**
+     * Asserts that base-name is unique. This disallows having multiple invocations for
+     * same base-name but having different alias names.
+     *
+     * @param PharInvocation $invocation
+     * @param int $flags
+     * @return bool
+     */
+    private function assertUniqueBaseName(PharInvocation $invocation, $flags)
+    {
+        if (!($flags & static::UNIQUE_BASE_NAME)) {
+            return true;
+        }
+        return $this->findByCallback(
+                function (PharInvocation $candidate) use ($invocation) {
+                    return $candidate->getBaseName() === $invocation->getBaseName();
+                }
+            ) === null;
+    }
+
+    /**
+     * Asserts that combination of base-name and alias is unique. This allows having multiple
+     * invocations for same base-name but having different alias names (for whatever reason).
+     *
+     * @param PharInvocation $invocation
+     * @param int $flags
+     * @return bool
+     */
+    private function assertUniqueInvocation(PharInvocation $invocation, $flags)
+    {
+        if (!($flags & static::UNIQUE_INVOCATION)) {
+            return true;
+        }
+        return $this->findByCallback(
+                function (PharInvocation $candidate) use ($invocation) {
+                    return $candidate->equals($invocation);
+                }
+            ) === null;
+    }
+
+    /**
+     * @param PharInvocation $invocation
+     */
+    private function triggerDuplicateAliasWarning(PharInvocation $invocation)
+    {
+        $sameAliasInvocation = $this->findByCallback(
+            function (PharInvocation $candidate) use ($invocation) {
+                return $candidate->getAlias() === $invocation->getAlias();
+            },
+            true
+        );
+        if ($sameAliasInvocation === null) {
+            return;
+        }
+        trigger_error(
+            sprintf(
+                'Alias %s cannot be used by %s, already used by %s',
+                $invocation->getAlias(),
+                $invocation->getBaseName(),
+                $sameAliasInvocation->getBaseName()
+            ),
+            E_USER_WARNING
+        );
+    }
+
+    /**
+     * @param bool $reverse
+     * @return PharInvocation[]
+     */
+    private function getInvocations($reverse = false)
+    {
+        if ($reverse) {
+            return array_reverse($this->invocations);
+        }
+        return $this->invocations;
+    }
+}
\ No newline at end of file
diff --git a/vendor/typo3/phar-stream-wrapper/src/Resolver/PharInvocationResolver.php b/vendor/typo3/phar-stream-wrapper/src/Resolver/PharInvocationResolver.php
new file mode 100644
index 0000000000000000000000000000000000000000..b62b53ae319d1dc2ba1dd11b62aecac23beb30df
--- /dev/null
+++ b/vendor/typo3/phar-stream-wrapper/src/Resolver/PharInvocationResolver.php
@@ -0,0 +1,137 @@
+<?php
+namespace TYPO3\PharStreamWrapper\Resolver;
+
+/*
+ * This file is part of the TYPO3 project.
+ *
+ * It is free software; you can redistribute it and/or modify it under the terms
+ * of the MIT License (MIT). For the full copyright and license information,
+ * please read the LICENSE file that was distributed with this source code.
+ *
+ * The TYPO3 project - inspiring people to share!
+ */
+
+use TYPO3\PharStreamWrapper\Helper;
+use TYPO3\PharStreamWrapper\Manager;
+use TYPO3\PharStreamWrapper\Phar\Reader;
+use TYPO3\PharStreamWrapper\Resolvable;
+
+class PharInvocationResolver implements Resolvable
+{
+    const RESOLVE_REALPATH = 1;
+    const RESOLVE_ALIAS = 2;
+    const ASSERT_INTERNAL_INVOCATION = 32;
+
+    /**
+     * @var string[]
+     */
+    private $invocationFunctionNames = array(
+        'include',
+        'include_once',
+        'require',
+        'require_once'
+    );
+
+
+    /**
+     * Resolves PharInvocation value object (baseName and optional alias).
+     *
+     * Phar aliases are intended to be used only inside Phar archives, however
+     * PharStreamWrapper needs this information exposed outside of Phar as well
+     * It is possible that same alias is used for different $baseName values.
+     * That's why PharInvocationCollection behaves like a stack when resolving
+     * base-name for a given alias. On the other hand it is not possible that
+     * one $baseName is referring to multiple aliases.
+     * @see https://secure.php.net/manual/en/phar.setalias.php
+     * @see https://secure.php.net/manual/en/phar.mapphar.php
+     *
+     * @param string $path
+     * @param int|null $flags
+     * @return null|PharInvocation
+     */
+    public function resolve($path, $flags = null)
+    {
+        $hasPharPrefix = Helper::hasPharPrefix($path);
+        if ($flags === null) {
+            $flags = static::RESOLVE_REALPATH | static::RESOLVE_ALIAS | static::ASSERT_INTERNAL_INVOCATION;
+        }
+
+        if ($hasPharPrefix && $flags & static::RESOLVE_ALIAS) {
+            $invocation = $this->findByAlias($path);
+            if ($invocation !== null && $this->assertInternalInvocation($invocation, $flags)) {
+                return $invocation;
+            } elseif ($invocation !== null) {
+                return null;
+            }
+        }
+
+        $baseName = Helper::determineBaseFile($path);
+        if ($baseName === null) {
+            return null;
+        }
+
+        if ($flags & static::RESOLVE_REALPATH) {
+            $baseName = realpath($baseName);
+        }
+        if ($flags & static::RESOLVE_ALIAS) {
+            $reader = new Reader($baseName);
+            $alias = $reader->resolveContainer()->getAlias();
+        } else {
+            $alias = '';
+        }
+
+        return new PharInvocation($baseName, $alias);
+    }
+
+    /**
+     * @param string $path
+     * @return null|PharInvocation
+     */
+    private function findByAlias($path)
+    {
+        $normalizedPath = Helper::normalizePath($path);
+        $possibleAlias = strstr($normalizedPath, '/', true);
+        if (empty($possibleAlias)) {
+            return null;
+        }
+        return Manager::instance()->getCollection()->findByCallback(
+            function (PharInvocation $candidate) use ($possibleAlias) {
+                return $candidate->getAlias() === $possibleAlias;
+            },
+            true
+        );
+    }
+
+    /**
+     * @param PharInvocation $invocation
+     * @param int $flags
+     * @return bool
+     * @experimental
+     */
+    private function assertInternalInvocation(PharInvocation $invocation, $flags)
+    {
+        if (!($flags & static::ASSERT_INTERNAL_INVOCATION)) {
+            return true;
+        }
+
+        $trace = debug_backtrace(0);
+        $firstIndex = count($trace) - 1;
+        // initial invocation, most probably a CLI tool
+        if (isset($trace[$firstIndex]['file']) && $trace[$firstIndex]['file'] === $invocation->getBaseName()) {
+            return true;
+        }
+        // otherwise search for include/require invocations
+        foreach ($trace as $item) {
+            if (!isset($item['function']) || !isset($item['args'][0])) {
+                continue;
+            }
+            if ($item['args'][0] === $invocation->getBaseName()
+                && in_array($item['function'], $this->invocationFunctionNames, true)
+            ) {
+                return true;
+            }
+        }
+
+        return false;
+    }
+}